Skip to content

Commit a7dde72

Browse files
Release v1.9.4
* VS project templates - added packages.config files * Added Condition-s for .NET Frameworks 4.7.1 and 4.7.2 * Issue #569: Updating WixSharp leads to malfuncion of SetEvVar * Added support for `UI.Error` WiX element * Issue #552: Question: Install 2 windows services in same installer * Issue #541: Installing 2 Services in the same installer results in … * Samples update * Issue #560: Semantic difference between UninstallCondition and IsUninstalling * Issue #564: Correct variable name of SequentialGuid initialization. * Issue #562: Typo in Compiler.cs comments * Issue #561: Typo in WixProject.cs * Added missing namespace in custom dialog template, fixed comment. * Added explicit `WixEntity.ComponentId` property * Issue #551: Cannot include extra .wxs as part of a bundle * Issue #542: ServiceInstaller.StartOn/StopOn/RemoveOn - Documentation bug * Issue #544: Failed while processing WebSites; added support for `IISVirtualDir.AttributesDefinition`
1 parent 74ec55f commit a7dde72

14 files changed

Lines changed: 215 additions & 94 deletions

Source/NuGet/WixSharp/WixSharp.bin.nuspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<package xmlns="http://schemas.microsoft.com/packaging/2011/10/nuspec.xsd">
33
<metadata>
44
<id>WixSharp.bin</id>
5-
<version>1.9.3.0</version>
5+
<version>1.9.4.0</version>
66
<title>Wix# (WixSharp) - Binaries</title>
77
<authors>Oleg Shilo</authors>
88
<owners>Oleg Shilo</owners>

Source/NuGet/WixSharp/WixSharp.lab.nuspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
33
<metadata>
44
<id>WixSharp.Lab</id>
5-
<version>1.9.3.0</version>
5+
<version>1.9.4.0</version>
66
<title>Wix# (WixSharp) - Experimantal features</title>
77
<authors>Oleg Shilo</authors>
88
<owners>Oleg Shilo</owners>
@@ -23,7 +23,7 @@ The package is tested against WIX (Windows Installer Xml) Toolset v3.10 (v3.10.2
2323
<frameworkAssembly assemblyName="System.Drawing" targetFramework="" />
2424
</frameworkAssemblies>
2525
<dependencies>
26-
<dependency id="WixSharp.bin" version="1.9.3.0" />
26+
<dependency id="WixSharp.bin" version="1.9.4.0" />
2727
</dependencies>
2828
</metadata>
2929
<files>

Source/NuGet/WixSharp/WixSharp.nuspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
33
<metadata>
44
<id>WixSharp</id>
5-
<version>1.9.3.0</version>
5+
<version>1.9.4.0</version>
66
<title>Wix# (WixSharp) - managed interface for WiX</title>
77
<authors>Oleg Shilo</authors>
88
<owners>Oleg Shilo</owners>
@@ -23,7 +23,7 @@ The package is tested against WIX (Windows Installer Xml) Toolset v3.10 (v3.10.2
2323
<language>en-AU</language>
2424
<tags>C# scripting msi install setup wix</tags>
2525
<dependencies>
26-
<dependency id="WixSharp.bin" version="1.9.3.0" />
26+
<dependency id="WixSharp.bin" version="1.9.4.0" />
2727
</dependencies>
2828
</metadata>
2929
<files>
0 Bytes
Binary file not shown.
-1.5 KB
Binary file not shown.
-6 KB
Binary file not shown.
-21.5 KB
Binary file not shown.

Source/src/WixSharp.Samples/WixSharp.xml

Lines changed: 102 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3408,7 +3408,7 @@
34083408
<code>
34093409
var project = new Project();
34103410
...
3411-
Compiler.BuildWxsCmd(project);
3411+
Compiler.BuildMsiCmd(project);
34123412
</code>
34133413
</description>
34143414
</item>
@@ -3798,6 +3798,37 @@
37983798
<param name="pattern">The wildcard pattern to convert.</param>
37993799
<returns>A regex equivalent of the given wildcard.</returns>
38003800
</member>
3801+
<member name="T:WixSharp.Error">
3802+
<summary>
3803+
Implements `Error` element that can be used to define and customize runtime error messages.
3804+
</summary>
3805+
<seealso cref="T:WixSharp.WixEntity" />
3806+
<seealso cref="T:WixSharp.IGenericEntity" />
3807+
</member>
3808+
<member name="M:WixSharp.Error.#ctor(System.String,System.String)">
3809+
<summary>
3810+
Initializes a new instance of the <see cref="T:WixSharp.Error"/> class.
3811+
</summary>
3812+
<param name="id">The identifier.</param>
3813+
<param name="message">The message.</param>
3814+
</member>
3815+
<member name="P:WixSharp.Error.Id">
3816+
<summary>
3817+
Number of the error for which a message is being provided.
3818+
</summary>
3819+
</member>
3820+
<member name="P:WixSharp.Error.Message">
3821+
<summary>
3822+
Error message.
3823+
</summary>
3824+
</member>
3825+
<member name="M:WixSharp.Error.Process(WixSharp.ProcessingContext)">
3826+
<summary>
3827+
Adds itself as an XML content into the WiX source being generated from the <see cref="T:WixSharp.Project"/>.
3828+
See 'Wix#/samples/Extensions' sample for the details on how to implement this interface correctly.
3829+
</summary>
3830+
<param name="context">The context.</param>
3831+
</member>
38013832
<member name="T:WixSharp.FileSearch">
38023833
<summary>
38033834
Searches for file and assigns to full path value of parent Property
@@ -6644,6 +6675,11 @@
66446675
for 'both', the service will be stopped in both cases.
66456676
</summary>
66466677
</member>
6678+
<member name="M:WixSharp.SvcEvent.#ctor">
6679+
<summary>
6680+
Initializes a new instance of the <see cref="T:WixSharp.SvcEvent"/> class.
6681+
</summary>
6682+
</member>
66476683
<member name="F:WixSharp.SvcEvent.Wait">
66486684
<summary>
66496685
The flag indicating if after triggering the service action the setup should wait until te action is completed.
@@ -9670,14 +9706,12 @@
96709706
</member>
96719707
<member name="F:WixSharp.WixProject.LightOptions">
96729708
<summary>
9673-
WiX linker <c>Light.exe</c> options (e.g. -sice:ICE30).
9674-
<para>The default value is "-sw1076 -sw1079" (disable warning 1076 and 1079). </para>
9709+
WiX linker <c>Light.exe</c> options (e.g. "-sice:ICE30 -sw1076" (disable warning 1076 and ICE warning 30).
96759710
</summary>
96769711
</member>
96779712
<member name="F:WixSharp.WixProject.CandleOptions">
96789713
<summary>
9679-
WiX compiler <c>Candle.exe</c> options.
9680-
<para>The default value is "-sw1076" (disable warning 1026).</para>
9714+
WiX compiler <c>Candle.exe</c> options (e.g. "-sw1076" to disable warning 1026).
96819715
</summary>
96829716
</member>
96839717
<member name="E:WixSharp.WixProject.WixSourceGenerated">
@@ -12509,12 +12543,12 @@
1250912543
String representation of the <c>UILevel &lt; 4</c> condition of the WiX <c>Condition</c>.
1251012544
</summary>
1251112545
</member>
12512-
<member name="F:WixSharp.Condition.BeingRemoved">
12546+
<member name="F:WixSharp.Condition.BeingUninstalled">
1251312547
<summary>
1251412548
String representation of the <c>REMOVE="ALL"</c> condition of the WiX <c>Condition</c>.
1251512549
</summary>
1251612550
</member>
12517-
<member name="F:WixSharp.Condition.UninstallCondition">
12551+
<member name="F:WixSharp.Condition.BeingUninstalledAndNotBeingUpgraded">
1251812552
<summary>
1251912553
Software is being removed and no newer version is being installed.
1252012554
</summary>
@@ -12564,6 +12598,16 @@
1256412598
The .NET4.7 installed. This condition is to be used in Project.SetNetFxPrerequisite.
1256512599
</summary>
1256612600
</member>
12601+
<member name="F:WixSharp.Condition.Net471_Installed">
12602+
<summary>
12603+
The .NET4.7.1 installed. This condition is to be used in Project.SetNetFxPrerequisite.
12604+
</summary>
12605+
</member>
12606+
<member name="F:WixSharp.Condition.Net472_Installed">
12607+
<summary>
12608+
The .NET4.7.2 installed. This condition is to be used in Project.SetNetFxPrerequisite.
12609+
</summary>
12610+
</member>
1256712611
<member name="F:WixSharp.Condition.Net30_SP_Installed">
1256812612
<summary>
1256912613
The .NET3.0 SP installed. This condition is to be used in Project.SetNetFxPrerequisite.
@@ -13034,6 +13078,14 @@
1303413078
</code>
1303513079
</summary>
1303613080
</member>
13081+
<member name="M:WixSharp.XmlMapping.ToXElement(WixSharp.WixObject)">
13082+
<summary>
13083+
Serializes the <see cref="T:WixSharp.WixObject"/> into XML based on the members marked with
13084+
<see cref="T:WixSharp.XmlAttribute"/> and <see cref="P:WixSharp.WixObject.Attributes"/>.
13085+
</summary>
13086+
<param name="obj"></param>
13087+
<returns></returns>
13088+
</member>
1303713089
<member name="M:WixSharp.XmlMapping.ToXElement(WixSharp.WixObject,System.Xml.Linq.XName)">
1303813090
<summary>
1303913091
Serializes the <see cref="T:WixSharp.WixObject"/> into XML based on the members marked with
@@ -13043,6 +13095,15 @@
1304313095
<param name="elementName"></param>
1304413096
<returns></returns>
1304513097
</member>
13098+
<member name="M:WixSharp.XmlMapping.ToXElement(WixSharp.WixObject,WixSharp.WixExtension)">
13099+
<summary>
13100+
Serializes the <see cref="T:WixSharp.WixObject"/> into XML based on the members marked with
13101+
<see cref="T:WixSharp.XmlAttribute"/> and <see cref="P:WixSharp.WixObject.Attributes"/>.
13102+
</summary>
13103+
<param name="obj">The obj.</param>
13104+
<param name="extension">The extension.</param>
13105+
<returns></returns>
13106+
</member>
1304613107
<member name="M:WixSharp.XmlMapping.ToXElement(WixSharp.WixObject,WixSharp.WixExtension,System.String)">
1304713108
<summary>
1304813109
Serializes the <see cref="T:WixSharp.WixObject"/> into XML based on the members marked with
@@ -13080,6 +13141,30 @@
1308013141
The attribute indicating the type member being mapped to XML element. Used by Wix# compiler to emit XML base on CLR types.
1308113142
</summary>
1308213143
</member>
13144+
<member name="M:WixSharp.XmlAttribute.#ctor">
13145+
<summary>
13146+
Initializes a new instance of the <see cref="T:WixSharp.XmlAttribute"/> class.
13147+
</summary>
13148+
</member>
13149+
<member name="M:WixSharp.XmlAttribute.#ctor(System.String)">
13150+
<summary>
13151+
Initializes a new instance of the <see cref="T:WixSharp.XmlAttribute"/> class.
13152+
</summary>
13153+
<param name="name">The name.</param>
13154+
</member>
13155+
<member name="M:WixSharp.XmlAttribute.#ctor(System.Boolean)">
13156+
<summary>
13157+
Initializes a new instance of the <see cref="T:WixSharp.XmlAttribute"/> class.
13158+
</summary>
13159+
<param name="isCData">if set to <c>true</c> [is c data].</param>
13160+
</member>
13161+
<member name="M:WixSharp.XmlAttribute.#ctor(System.String,System.Boolean)">
13162+
<summary>
13163+
Initializes a new instance of the <see cref="T:WixSharp.XmlAttribute"/> class.
13164+
</summary>
13165+
<param name="name">The name.</param>
13166+
<param name="isCData">if set to <c>true</c> [is c data].</param>
13167+
</member>
1308313168
<member name="P:WixSharp.XmlAttribute.Name">
1308413169
<summary>
1308513170
Gets or sets the name of the mapped XML element.
@@ -17151,13 +17236,13 @@
1715117236
<summary>
1715217237
Initializes a new instance of the <see cref="T:WixSharp.WixGuid.SequentialGuid"/> class.
1715317238
</summary>
17154-
<param name="previousGuid">The previous GUID.</param>
17239+
<param name="initialGuid">The initial GUID.</param>
1715517240
</member>
1715617241
<member name="M:WixSharp.WixGuid.SequentialGuid.#ctor(System.Nullable{System.Guid})">
1715717242
<summary>
1715817243
Initializes a new instance of the <see cref="T:WixSharp.WixGuid.SequentialGuid"/> class.
1715917244
</summary>
17160-
<param name="previousGuid">The previous GUID.</param>
17245+
<param name="initialGuid">The previous GUID.</param>
1716117246
</member>
1716217247
<member name="M:WixSharp.WixGuid.SequentialGuid.op_Implicit(WixSharp.WixGuid.SequentialGuid)~System.Guid">
1716317248
<summary>
@@ -17368,6 +17453,14 @@
1736817453
Base class for all Wix# types representing WiX XML elements (entities)
1736917454
</summary>
1737017455
</member>
17456+
<member name="P:WixSharp.WixEntity.ComponentId">
17457+
<summary>
17458+
Gets or sets the id of the Component element that is to contain XML equivalent of the <see cref="T:WixSharp.WixEntity"/>.
17459+
</summary>
17460+
<value>
17461+
The component identifier.
17462+
</value>
17463+
</member>
1737117464
<member name="F:WixSharp.WixEntity.Name">
1737217465
<summary>
1737317466
Name of the <see cref="T:WixSharp.WixEntity"/>.

Source/src/WixSharp/AutoElements.cs

Lines changed: 30 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,9 @@ public static class AutoElements
8383
/// <para>If set to <c>Automatic</c> then the compiler will enable this feature only if any empty directory
8484
/// is detected in the project definition.</para>
8585
/// </summary>
86-
[Obsolete(message: "This property will is defaulted to `Enabled`. Due to the fact that `Automatic` " +
87-
"brings some ambiguity while no longer yielding any benefits", error: false)]
86+
[Obsolete(message: "This property is defaulted to `CompilerSupportState.Enabled`. Due to the fact that " +
87+
"`CompilerSupportState.Automatic` brings some ambiguity while no longer yielding any benefits",
88+
error: false)]
8889
public static CompilerSupportState SupportEmptyDirectories = CompilerSupportState.Enabled;
8990

9091
/// <summary>
@@ -171,8 +172,8 @@ static void InsertRemoveFolder(XElement xDir, XElement xComponent, string when =
171172
.Any();
172173
if (!alreadyPresent)
173174
xComponent.Add(new XElement("RemoveFolder",
174-
new XAttribute("Id", xDir.Attribute("Id").Value),
175-
new XAttribute("On", when)));
175+
new XAttribute("Id", xDir.Attribute("Id").Value),
176+
new XAttribute("On", when)));
176177
}
177178
}
178179

@@ -181,8 +182,8 @@ internal static XElement InsertUserProfileRemoveFolder(this XElement xComponent)
181182
var xDir = xComponent.Parent("Directory");
182183
if (!xDir.Descendants("RemoveFolder").Any() && !xDir.IsUserProfileRoot())
183184
xComponent.Add(new XElement("RemoveFolder",
184-
new XAttribute("Id", xDir.Attribute("Id").Value),
185-
new XAttribute("On", "uninstall")));
185+
new XAttribute("Id", xDir.Attribute("Id").Value),
186+
new XAttribute("On", "uninstall")));
186187

187188
return xComponent;
188189
}
@@ -245,13 +246,13 @@ internal static XElement InsertUserProfileRegValue(this XElement xComponent)
245246
xComponent.ClearKeyPath();
246247

247248
xComponent.Add(
248-
new XElement("RegistryKey",
249-
new XAttribute("Root", "HKCU"),
250-
new XAttribute("Key", @"Software\WixSharp\Used"),
251-
new XElement("RegistryValue",
252-
new XAttribute("Value", "0"),
253-
new XAttribute("Type", "string"),
254-
new XAttribute("KeyPath", "yes"))));
249+
new XElement("RegistryKey",
250+
new XAttribute("Root", "HKCU"),
251+
new XAttribute("Key", @"Software\WixSharp\Used"),
252+
new XElement("RegistryValue",
253+
new XAttribute("Value", "0"),
254+
new XAttribute("Type", "string"),
255+
new XAttribute("KeyPath", "yes"))));
255256
return xComponent;
256257
}
257258

@@ -321,7 +322,7 @@ static XElement CreateComponentFor(this XDocument doc, XElement xDir)
321322
{
322323
string compId = xDir.Attribute("Id").Value;
323324
XElement xComponent = xDir.AddElement(
324-
new XElement("Component",
325+
new XElement("Component",
325326
new XAttribute("Id", compId),
326327
new XAttribute("Guid", WixGuid.NewGuid(compId))));
327328

@@ -335,15 +336,15 @@ static XElement CreateComponentFor(this XDocument doc, XElement xDir)
335336
private static string[] GetUserProfileFolders()
336337
{
337338
return new[]
338-
{
339-
"ProgramMenuFolder",
340-
"AppDataFolder",
341-
"LocalAppDataFolder",
342-
"TempFolder",
343-
"PersonalFolder",
344-
"DesktopFolder",
345-
"StartupFolder"
346-
};
339+
{
340+
"ProgramMenuFolder",
341+
"AppDataFolder",
342+
"LocalAppDataFolder",
343+
"TempFolder",
344+
"PersonalFolder",
345+
"DesktopFolder",
346+
"StartupFolder"
347+
};
347348
}
348349

349350
static bool InUserProfile(this XElement xDir)
@@ -651,19 +652,19 @@ internal static void InjectAutoElementsHandler(XDocument doc, Project project)
651652
string customAction = $"Set_DirAbsolutePath{absPathCount}";
652653

653654
product.Add(new XElement("CustomAction",
654-
new XAttribute("Id", customAction),
655-
new XAttribute("Property", actualDirName),
656-
new XAttribute("Value", absolutePath)));
655+
new XAttribute("Id", customAction),
656+
new XAttribute("Property", actualDirName),
657+
new XAttribute("Value", absolutePath)));
657658

658659
product.SelectOrCreate("InstallExecuteSequence").Add(
659660
new XElement("Custom", $"(NOT Installed) AND (UILevel < 5) AND ({actualDirName} = ABSOLUTEPATH{absPathCount})",
660661
new XAttribute("Action", customAction),
661662
new XAttribute("Before", "AppSearch")));
662663

663664
product.SelectOrCreate("InstallUISequence").Add(
664-
new XElement("Custom", $"(NOT Installed) AND (UILevel = 5) AND ({actualDirName} = ABSOLUTEPATH{absPathCount})",
665-
new XAttribute("Action", customAction),
666-
new XAttribute("Before", "AppSearch")));
665+
new XElement("Custom", $"(NOT Installed) AND (UILevel = 5) AND ({actualDirName} = ABSOLUTEPATH{absPathCount})",
666+
new XAttribute("Action", customAction),
667+
new XAttribute("Before", "AppSearch")));
667668

668669
if (absPathCount == null)
669670
absPathCount = 0;

0 commit comments

Comments
 (0)