Skip to content

Commit

Permalink
Release v1.20.3.0
Browse files Browse the repository at this point in the history
- Issue #1244: The directory Id generated can be too long
- Issue #1223: Non LegacyDummyDirAlgorithm creates C:\ProgramFilesFolder empty folder
- Issue #1220: ElevatedManagedAction issue
- Feature #1204: Feature - RegisterCom class to ease the registration of COM files
- Issue #1203: SilentBootstrapperApplication
- Issue #182 (extended solution): RegistrySearch has "Win64=no" when building x64 installers
- Added Self-executable_Msi sample
- Added WixBootstrapper_EmbeddedUI to demonstrate how to show managed UI if the bundled MSI
- Added sample for customization of the stock Burn UI. Triggered by #1219
- Added sample for "Issue #1218: Dynamic custom UI sequence"
- Resurrected setting user input from BA UI and passing it to the msi. RegistrySearch input is also retained.
- Added validation for `Issue #1075: [FEAT] Add error if LaunchApplicationFromExitDialog using in common Project` error.
- Fixed problem with RegKey being placed in the x86 root XML dir for the x64 project
  • Loading branch information
oleg-shilo committed Jan 6, 2023
1 parent 182c280 commit 053fef6
Show file tree
Hide file tree
Showing 12 changed files with 91 additions and 38 deletions.
25 changes: 18 additions & 7 deletions Source/NuGet/WixSharp/WixSharp.WPF.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>WixSharp.WPF</id>
<version>1.20.2.0</version>
<version>1.20.3.0</version>
<title>Wix# (WixSharp) - Binaries</title>
<authors>Oleg Shilo</authors>
<owners>Oleg Shilo</owners>
Expand All @@ -16,17 +16,28 @@ The package contains Wix# binaries only.
In order to use this package you need have WiX Toolset installed.
The package is tested against WIX (Windows Installer Xml) Toolset v3.10 (v3.10.2103.0)</description>
<summary>Wix# (WixSharp) - Binaries</summary>
<releaseNotes>Release v1.20.2.0
<releaseNotes>Release v1.20.3.0

- PR #1197: Fix BuildMsiCmd generating incorrect custom action dll
- Issue #1178: WelcomeDialog doesn't show title.
- Issue #1170: Generate only small Installer.exe file to binary (enhancement)
- Issue #1171: RegFileImporter does not support hex(b): REG_QWORD Partial fix as WiX still does not support REG_QWORD===integer64</releaseNotes>
- Issue #1244: The directory Id generated can be too long
- Issue #1223: Non LegacyDummyDirAlgorithm creates C:\ProgramFilesFolder empty folder
- Issue #1220: ElevatedManagedAction issue
- Feature #1204: Feature - RegisterCom class to ease the registration of COM files
- Issue #1203: SilentBootstrapperApplication
- Issue #182 (extended solution): RegistrySearch has "Win64=no" when building x64 installers
- Added Self-executable_Msi sample
- Added WixBootstrapper_EmbeddedUI to demonstrate how to show managed UI if the bundled MSI
- Added sample for customization of the stock Burn UI. Triggered by #1219
- Added sample for "Issue #1218: Dynamic custom UI sequence"
- Resurrected setting user input from BA UI and passing it to the msi. RegistrySearch input is also retained.
- Added validation for `Issue #1075: [FEAT] Add error if LaunchApplicationFromExitDialog using in common Project` error.
- Fixed problem with RegKey being placed in the x86 root XML dir for the x64 project

</releaseNotes>
<copyright>Copyright (C) 2008-2021 Oleg Shilo</copyright>
<language>en-AU</language>
<tags>C# scripting msi install setup wix</tags>
<dependencies>
<dependency id="WixSharp.bin" version="1.20.2.0" />
<dependency id="WixSharp.bin" version="1.20.3.0" />
<dependency id="Caliburn.Micro" version="3.2.0" />
</dependencies>
<references>
Expand Down
23 changes: 17 additions & 6 deletions Source/NuGet/WixSharp/WixSharp.bin.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2011/10/nuspec.xsd">
<metadata>
<id>WixSharp.bin</id>
<version>1.20.2.0</version>
<version>1.20.3.0</version>
<title>Wix# (WixSharp) - Binaries</title>
<authors>Oleg Shilo</authors>
<owners>Oleg Shilo</owners>
Expand All @@ -16,12 +16,23 @@ The package contains Wix# binaries only.
In order to use this package you need have WiX Toolset installed.
The package is tested against WIX (Windows Installer Xml) Toolset v3.10 (v3.10.2103.0)</description>
<summary>Wix# (WixSharp) - Binaries</summary>
<releaseNotes>Release v1.20.2.0
<releaseNotes>Release v1.20.3.0

- PR #1197: Fix BuildMsiCmd generating incorrect custom action dll
- Issue #1178: WelcomeDialog doesn't show title.
- Issue #1170: Generate only small Installer.exe file to binary (enhancement)
- Issue #1171: RegFileImporter does not support hex(b): REG_QWORD Partial fix as WiX still does not support REG_QWORD===integer64</releaseNotes>
- Issue #1244: The directory Id generated can be too long
- Issue #1223: Non LegacyDummyDirAlgorithm creates C:\ProgramFilesFolder empty folder
- Issue #1220: ElevatedManagedAction issue
- Feature #1204: Feature - RegisterCom class to ease the registration of COM files
- Issue #1203: SilentBootstrapperApplication
- Issue #182 (extended solution): RegistrySearch has "Win64=no" when building x64 installers
- Added Self-executable_Msi sample
- Added WixBootstrapper_EmbeddedUI to demonstrate how to show managed UI if the bundled MSI
- Added sample for customization of the stock Burn UI. Triggered by #1219
- Added sample for "Issue #1218: Dynamic custom UI sequence"
- Resurrected setting user input from BA UI and passing it to the msi. RegistrySearch input is also retained.
- Added validation for `Issue #1075: [FEAT] Add error if LaunchApplicationFromExitDialog using in common Project` error.
- Fixed problem with RegKey being placed in the x86 root XML dir for the x64 project

</releaseNotes>
<copyright>Copyright (C) 2008-2022 Oleg Shilo</copyright>
<language>en-AU</language>
<tags>C# scripting msi install setup wix</tags>
Expand Down
25 changes: 18 additions & 7 deletions Source/NuGet/WixSharp/WixSharp.lab.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>WixSharp.Lab</id>
<version>1.20.2.0</version>
<version>1.20.3.0</version>
<title>Wix# (WixSharp) - Experimantal features</title>
<authors>Oleg Shilo</authors>
<owners>Oleg Shilo</owners>
Expand All @@ -14,12 +14,23 @@
The package contains the sample code for building a simple MSI with the CLR WinForm dialog inserted into UI sequence between InsallDirDlg and VerifyReadyDlg native MSI dialogs. In order to use this package you need have WiX Toolset installed.
The package is tested against WIX (Windows Installer Xml) Toolset v3.10 (v3.10.2103.0)</description>
<summary>Wix# binaries containing experimental features (e.g. native WiX UI support).</summary>
<releaseNotes>Release v1.20.2.0
<releaseNotes>Release v1.20.3.0

- PR #1197: Fix BuildMsiCmd generating incorrect custom action dll
- Issue #1178: WelcomeDialog doesn't show title.
- Issue #1170: Generate only small Installer.exe file to binary (enhancement)
- Issue #1171: RegFileImporter does not support hex(b): REG_QWORD Partial fix as WiX still does not support REG_QWORD===integer64</releaseNotes>
- Issue #1244: The directory Id generated can be too long
- Issue #1223: Non LegacyDummyDirAlgorithm creates C:\ProgramFilesFolder empty folder
- Issue #1220: ElevatedManagedAction issue
- Feature #1204: Feature - RegisterCom class to ease the registration of COM files
- Issue #1203: SilentBootstrapperApplication
- Issue #182 (extended solution): RegistrySearch has "Win64=no" when building x64 installers
- Added Self-executable_Msi sample
- Added WixBootstrapper_EmbeddedUI to demonstrate how to show managed UI if the bundled MSI
- Added sample for customization of the stock Burn UI. Triggered by #1219
- Added sample for "Issue #1218: Dynamic custom UI sequence"
- Resurrected setting user input from BA UI and passing it to the msi. RegistrySearch input is also retained.
- Added validation for `Issue #1075: [FEAT] Add error if LaunchApplicationFromExitDialog using in common Project` error.
- Fixed problem with RegKey being placed in the x86 root XML dir for the x64 project

</releaseNotes>
<copyright>Copyright (C) 2008-2022 Oleg Shilo</copyright>
<language>en-AU</language>
<tags>C# Scripting msi install setup</tags>
Expand All @@ -28,7 +39,7 @@ The package is tested against WIX (Windows Installer Xml) Toolset v3.10 (v3.10.2
<frameworkAssembly assemblyName="System.Drawing" targetFramework="" />
</frameworkAssemblies>
<dependencies>
<dependency id="WixSharp.bin" version="1.20.2.0" />
<dependency id="WixSharp.bin" version="1.20.3.0" />
</dependencies>
</metadata>
<files>
Expand Down
25 changes: 18 additions & 7 deletions Source/NuGet/WixSharp/WixSharp.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>WixSharp</id>
<version>1.20.2.0</version>
<version>1.20.3.0</version>
<title>Wix# (WixSharp) - managed interface for WiX</title>
<authors>Oleg Shilo</authors>
<owners>Oleg Shilo</owners>
Expand All @@ -18,17 +18,28 @@ If you need only Wix# binaries you may want to use WixSharp.bin package instead.
In order to use this package you need have WiX Toolset installed.
The package is tested against WIX (Windows Installer Xml) Toolset v3.10 (v3.10.2103.0)</description>
<summary>Wix# (WixSharp) - Binaries</summary>
<releaseNotes>Release v1.20.2.0
<releaseNotes>Release v1.20.3.0

- PR #1197: Fix BuildMsiCmd generating incorrect custom action dll
- Issue #1178: WelcomeDialog doesn't show title.
- Issue #1170: Generate only small Installer.exe file to binary (enhancement)
- Issue #1171: RegFileImporter does not support hex(b): REG_QWORD Partial fix as WiX still does not support REG_QWORD===integer64</releaseNotes>
- Issue #1244: The directory Id generated can be too long
- Issue #1223: Non LegacyDummyDirAlgorithm creates C:\ProgramFilesFolder empty folder
- Issue #1220: ElevatedManagedAction issue
- Feature #1204: Feature - RegisterCom class to ease the registration of COM files
- Issue #1203: SilentBootstrapperApplication
- Issue #182 (extended solution): RegistrySearch has "Win64=no" when building x64 installers
- Added Self-executable_Msi sample
- Added WixBootstrapper_EmbeddedUI to demonstrate how to show managed UI if the bundled MSI
- Added sample for customization of the stock Burn UI. Triggered by #1219
- Added sample for "Issue #1218: Dynamic custom UI sequence"
- Resurrected setting user input from BA UI and passing it to the msi. RegistrySearch input is also retained.
- Added validation for `Issue #1075: [FEAT] Add error if LaunchApplicationFromExitDialog using in common Project` error.
- Fixed problem with RegKey being placed in the x86 root XML dir for the x64 project

</releaseNotes>
<copyright>Copyright (C) 2008-2022 Oleg Shilo</copyright>
<language>en-AU</language>
<tags>C# scripting msi install setup wix</tags>
<dependencies>
<dependency id="WixSharp.bin" version="1.20.2.0" />
<dependency id="WixSharp.bin" version="1.20.3.0" />
</dependencies>
</metadata>
<files>
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
2 changes: 1 addition & 1 deletion Source/src/WixSharp.Samples/Wix# Samples/GAC/Build.cmd
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
..\..\cscs.exe setup.cs
..\..\cscs.exe setup.cs

pause
Binary file not shown.
8 changes: 5 additions & 3 deletions Source/src/WixSharp.Test/SamplesTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public class SamplesTest : WixLocator
ASP.NETApp,
EnvVariables,
WixBootstrapper"
.Split(',').Select(x => x.Trim());
.Split(',').Select(x => x.Trim());

int completedSamples = 0;
int samplesTotal = 0;
Expand Down Expand Up @@ -123,9 +123,11 @@ void BuildSample(string batchFile, int currentStep, List<string> failedSamples)
{
var dir = Path.GetDirectoryName(batchFile);

bool ignorePresentMsi = (dir.EndsWith("Self-executable_Msi", true));

bool nonMsi = nonMsiProjects.Where(x => batchFile.Contains(x)).Any();

if (!nonMsi)
if (!nonMsi && !ignorePresentMsi)
{
DeleteAllMsis(dir);
Assert.False(HasAnyMsis(dir), "Cannot clear directory for the test...");
Expand Down Expand Up @@ -155,7 +157,7 @@ void BuildSample(string batchFile, int currentStep, List<string> failedSamples)
else
lock (failedSamples)
{
failedSamples.Add(currentStep + ":" + batchFile);
failedSamples.Add((currentStep - 1) + ":" + batchFile); // print index so it's easy to find it in the log
}
}

Expand Down
17 changes: 12 additions & 5 deletions Source/src/WixSharp/Compiler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,16 @@ THE SOFTWARE.

#endregion Licence...

using Microsoft.Deployment.WindowsInstaller;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using System.Xml.Linq;
using Microsoft.Deployment.WindowsInstaller;
using WixSharp.CommonTasks;
using IO = System.IO;

Expand Down Expand Up @@ -2247,7 +2248,7 @@ static void ProcessRegKeys(Project wProject, Dictionary<Feature, List<string>> f
{
if (wProject.Platform != Platform.x86)
regVal.AttributesDefinition += ";Component:Win64=yes";
}
}
}
else //equivalent of wProject.Platform == Platform.x86 as MSI will be hosted by x86 msiexec.exe
{
Expand Down Expand Up @@ -2275,7 +2276,7 @@ static void ProcessRegKeys(Project wProject, Dictionary<Feature, List<string>> f
// that is a system wide to the directory. But the containment is slightly better in this case.

bool is64 = regVal.Win64 ?? (wProject.Platform == Platform.x64);

XElement topLevelDir = GetTopLevelPermanentDir(product, is64);

XElement comp = topLevelDir.AddElement(
Expand Down Expand Up @@ -3085,8 +3086,14 @@ internal static string FindClientAssemblyInCallStack()
if (asm != System.Reflection.Assembly.GetExecutingAssembly())
{
if (asm == "".GetType().Assembly || asm.FullName.StartsWith("mscorlib."))
{
// being executed as a release-compiled script
return Environment.GetEnvironmentVariable("EntryScriptAssembly");
string compiledScriptLocation = Environment.GetEnvironmentVariables().Keys.Cast<string>().FirstOrDefault(x => x.StartsWith("location:"));

return Environment.GetEnvironmentVariable("EntryScriptAssembly")
?? Environment.GetEnvironmentVariable(compiledScriptLocation)
;
}
else
return asm.GetLocation();
}
Expand Down Expand Up @@ -3442,7 +3449,7 @@ static XElement AddDir(XElement parent, Dir wDir)
}
else
{
if(AutoElements.LegacyDirIdAlgorithm)
if (AutoElements.LegacyDirIdAlgorithm)
wDir.Id = parent.Attribute("Id").Value + "." + wDir.Name.Expand(doNotFixStartDigit: true);
// otherwise the id will be auto-assigned the same way as for other WixEntities
}
Expand Down
4 changes: 2 additions & 2 deletions Source/src/WixSharp/Properties/AssemblyInfo.version.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@
// Build Number
// Revision
//
[assembly: AssemblyVersion("1.20.2.0")]
[assembly: AssemblyFileVersion("1.20.2.0")]
[assembly: AssemblyVersion("1.20.3.0")]
[assembly: AssemblyFileVersion("1.20.3.0")]

0 comments on commit 053fef6

Please sign in to comment.