aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2020-06-26 14:55:01 -0700
committerRob Mensching <rob@firegiant.com>2020-06-26 14:55:01 -0700
commitcc20def99bbd0b28f19d90aee50d67f674738505 (patch)
treed73260b1088990e829183cb4562d5b326a2b8ec7
parentc95213afde7af57af4b2bbaa2d29344accbebf01 (diff)
downloadwix-cc20def99bbd0b28f19d90aee50d67f674738505.tar.gz
wix-cc20def99bbd0b28f19d90aee50d67f674738505.tar.bz2
wix-cc20def99bbd0b28f19d90aee50d67f674738505.zip
Remove use of inner text conversions for Util.wixext
Also, convert all test code to modern expectation
-rw-r--r--src/test/WixToolsetTest.Util/TestData/BundleWithSearches/Bundle.wxs4
-rw-r--r--src/test/WixToolsetTest.Util/TestData/CloseApplication/Package.wxs6
-rw-r--r--src/test/WixToolsetTest.Util/TestData/CloseApplication/PackageComponents.wxs4
-rw-r--r--src/test/WixToolsetTest.Util/TestData/EventManifest/Package.wxs6
-rw-r--r--src/test/WixToolsetTest.Util/TestData/EventManifest/PackageComponents.wxs4
-rw-r--r--src/test/WixToolsetTest.Util/TestData/InternetShortcut/Package.wxs6
-rw-r--r--src/test/WixToolsetTest.Util/TestData/InternetShortcut/PackageComponents.wxs4
-rw-r--r--src/test/WixToolsetTest.Util/TestData/PermissionEx/Package.wxs6
-rw-r--r--src/test/WixToolsetTest.Util/TestData/PermissionEx/PackageComponents.wxs4
-rw-r--r--src/test/WixToolsetTest.Util/TestData/UsingFileShare/Package.wxs34
-rw-r--r--src/test/WixToolsetTest.Util/TestData/UsingFileShare/PackageComponents.wxs26
-rw-r--r--src/wixext/UtilCompiler.cs23
-rw-r--r--src/wixext/util.xsd56
-rw-r--r--src/wixlib/UtilExtension.wxs94
-rw-r--r--src/wixlib/UtilExtension_arm.wxs3
-rw-r--r--src/wixlib/UtilExtension_arm64.wxs3
-rw-r--r--src/wixlib/UtilExtension_x64.wxs3
-rw-r--r--src/wixlib/UtilExtension_x86.wxs3
18 files changed, 121 insertions, 168 deletions
diff --git a/src/test/WixToolsetTest.Util/TestData/BundleWithSearches/Bundle.wxs b/src/test/WixToolsetTest.Util/TestData/BundleWithSearches/Bundle.wxs
index 82646b37..56eba137 100644
--- a/src/test/WixToolsetTest.Util/TestData/BundleWithSearches/Bundle.wxs
+++ b/src/test/WixToolsetTest.Util/TestData/BundleWithSearches/Bundle.wxs
@@ -1,6 +1,4 @@
1<?xml version="1.0" encoding="utf-8"?> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
3 xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">
4 <Bundle Name="!(loc.BundleName)" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a"> 2 <Bundle Name="!(loc.BundleName)" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
5 <BootstrapperApplication SourceFile="fakeba.dll" /> 3 <BootstrapperApplication SourceFile="fakeba.dll" />
6 4
diff --git a/src/test/WixToolsetTest.Util/TestData/CloseApplication/Package.wxs b/src/test/WixToolsetTest.Util/TestData/CloseApplication/Package.wxs
index 688ce39d..ec54a472 100644
--- a/src/test/WixToolsetTest.Util/TestData/CloseApplication/Package.wxs
+++ b/src/test/WixToolsetTest.Util/TestData/CloseApplication/Package.wxs
@@ -1,7 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" 2 <Product Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
3 xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">
4 <Product Id="*" Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
5 <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" /> 3 <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
6 4
7 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" /> 5 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
diff --git a/src/test/WixToolsetTest.Util/TestData/CloseApplication/PackageComponents.wxs b/src/test/WixToolsetTest.Util/TestData/CloseApplication/PackageComponents.wxs
index 4f9e6a9d..49f29600 100644
--- a/src/test/WixToolsetTest.Util/TestData/CloseApplication/PackageComponents.wxs
+++ b/src/test/WixToolsetTest.Util/TestData/CloseApplication/PackageComponents.wxs
@@ -1,6 +1,4 @@
1<?xml version="1.0" encoding="utf-8"?> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
3 xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">
4 <Fragment> 2 <Fragment>
5 <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER"> 3 <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
6 <Component> 4 <Component>
diff --git a/src/test/WixToolsetTest.Util/TestData/EventManifest/Package.wxs b/src/test/WixToolsetTest.Util/TestData/EventManifest/Package.wxs
index fc1018ae..d3130591 100644
--- a/src/test/WixToolsetTest.Util/TestData/EventManifest/Package.wxs
+++ b/src/test/WixToolsetTest.Util/TestData/EventManifest/Package.wxs
@@ -1,7 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" 2 <Product Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
3 xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">
4 <Product Id="*" Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
5 <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" /> 3 <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
6 4
7 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" /> 5 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
diff --git a/src/test/WixToolsetTest.Util/TestData/EventManifest/PackageComponents.wxs b/src/test/WixToolsetTest.Util/TestData/EventManifest/PackageComponents.wxs
index 75af3f59..2ec8ce82 100644
--- a/src/test/WixToolsetTest.Util/TestData/EventManifest/PackageComponents.wxs
+++ b/src/test/WixToolsetTest.Util/TestData/EventManifest/PackageComponents.wxs
@@ -1,6 +1,4 @@
1<?xml version="1.0" encoding="utf-8"?> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
3 xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">
4 <Fragment> 2 <Fragment>
5 <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER"> 3 <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
6 <Component> 4 <Component>
diff --git a/src/test/WixToolsetTest.Util/TestData/InternetShortcut/Package.wxs b/src/test/WixToolsetTest.Util/TestData/InternetShortcut/Package.wxs
index fc1018ae..d3130591 100644
--- a/src/test/WixToolsetTest.Util/TestData/InternetShortcut/Package.wxs
+++ b/src/test/WixToolsetTest.Util/TestData/InternetShortcut/Package.wxs
@@ -1,7 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" 2 <Product Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
3 xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">
4 <Product Id="*" Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
5 <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" /> 3 <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
6 4
7 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" /> 5 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
diff --git a/src/test/WixToolsetTest.Util/TestData/InternetShortcut/PackageComponents.wxs b/src/test/WixToolsetTest.Util/TestData/InternetShortcut/PackageComponents.wxs
index 23b172f8..5319d2f7 100644
--- a/src/test/WixToolsetTest.Util/TestData/InternetShortcut/PackageComponents.wxs
+++ b/src/test/WixToolsetTest.Util/TestData/InternetShortcut/PackageComponents.wxs
@@ -1,6 +1,4 @@
1<?xml version="1.0" encoding="utf-8"?> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
3 xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">
4 <Fragment> 2 <Fragment>
5 <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER"> 3 <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
6 <Component> 4 <Component>
diff --git a/src/test/WixToolsetTest.Util/TestData/PermissionEx/Package.wxs b/src/test/WixToolsetTest.Util/TestData/PermissionEx/Package.wxs
index fc1018ae..d3130591 100644
--- a/src/test/WixToolsetTest.Util/TestData/PermissionEx/Package.wxs
+++ b/src/test/WixToolsetTest.Util/TestData/PermissionEx/Package.wxs
@@ -1,7 +1,5 @@
1<?xml version="1.0" encoding="utf-8"?> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" 2 <Product Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
3 xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">
4 <Product Id="*" Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
5 <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" /> 3 <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
6 4
7 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" /> 5 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
diff --git a/src/test/WixToolsetTest.Util/TestData/PermissionEx/PackageComponents.wxs b/src/test/WixToolsetTest.Util/TestData/PermissionEx/PackageComponents.wxs
index 4b4dd32e..0634d7d4 100644
--- a/src/test/WixToolsetTest.Util/TestData/PermissionEx/PackageComponents.wxs
+++ b/src/test/WixToolsetTest.Util/TestData/PermissionEx/PackageComponents.wxs
@@ -1,6 +1,4 @@
1<?xml version="1.0" encoding="utf-8"?> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
3 xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">
4 <Fragment> 2 <Fragment>
5 <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER"> 3 <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
6 <Component> 4 <Component>
diff --git a/src/test/WixToolsetTest.Util/TestData/UsingFileShare/Package.wxs b/src/test/WixToolsetTest.Util/TestData/UsingFileShare/Package.wxs
index 68ff98fd..32d1cba6 100644
--- a/src/test/WixToolsetTest.Util/TestData/UsingFileShare/Package.wxs
+++ b/src/test/WixToolsetTest.Util/TestData/UsingFileShare/Package.wxs
@@ -1,22 +1,20 @@
1<?xml version="1.0" encoding="utf-8"?> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 2 <Product Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
3 <Product Id="*" Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a"> 3 <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
4 <Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
5 4
6 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" /> 5 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
7 <MediaTemplate /> 6 <MediaTemplate />
8 7
9 <Feature Id="ProductFeature" Title="!(loc.FeatureTitle)"> 8 <Feature Id="ProductFeature" Title="!(loc.FeatureTitle)">
10 <ComponentGroupRef Id="ProductComponents" /> 9 <ComponentGroupRef Id="ProductComponents" />
11 </Feature> 10 </Feature>
12 11 </Product>
13 </Product>
14 12
15 <Fragment> 13 <Fragment>
16 <Directory Id="TARGETDIR" Name="SourceDir"> 14 <Directory Id="TARGETDIR" Name="SourceDir">
17 <Directory Id="ProgramFilesFolder"> 15 <Directory Id="ProgramFilesFolder">
18 <Directory Id="INSTALLFOLDER" Name="MsiPackage" /> 16 <Directory Id="INSTALLFOLDER" Name="MsiPackage" />
19 </Directory> 17 </Directory>
20 </Directory> 18 </Directory>
21 </Fragment> 19 </Fragment>
22</Wix> 20</Wix>
diff --git a/src/test/WixToolsetTest.Util/TestData/UsingFileShare/PackageComponents.wxs b/src/test/WixToolsetTest.Util/TestData/UsingFileShare/PackageComponents.wxs
index c548bc1d..7cedbb30 100644
--- a/src/test/WixToolsetTest.Util/TestData/UsingFileShare/PackageComponents.wxs
+++ b/src/test/WixToolsetTest.Util/TestData/UsingFileShare/PackageComponents.wxs
@@ -1,16 +1,14 @@
1<?xml version="1.0" encoding="utf-8"?> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" 2 <Fragment>
3 xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util"> 3 <util:User Id="Everyone" Name="Everyone" />
4 <Fragment>
5 <util:User Id="Everyone" Name="Everyone" />
6 4
7 <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER"> 5 <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
8 <Component> 6 <Component>
9 <File Source="example.txt" /> 7 <File Source="example.txt" />
10 <util:FileShare Id="ExampleFileShare" Description="An example file share" Name="example"> 8 <util:FileShare Id="ExampleFileShare" Description="An example file share" Name="example">
11 <util:FileSharePermission User="Everyone" Read="yes" /> 9 <util:FileSharePermission User="Everyone" Read="yes" />
12 </util:FileShare> 10 </util:FileShare>
13 </Component> 11 </Component>
14 </ComponentGroup> 12 </ComponentGroup>
15 </Fragment> 13 </Fragment>
16</Wix> 14</Wix>
diff --git a/src/wixext/UtilCompiler.cs b/src/wixext/UtilCompiler.cs
index f7f37fab..acd96e15 100644
--- a/src/wixext/UtilCompiler.cs
+++ b/src/wixext/UtilCompiler.cs
@@ -761,6 +761,9 @@ namespace WixToolset.Util
761 case "Id": 761 case "Id":
762 id = this.ParseHelper.GetAttributeIdentifier(sourceLineNumbers, attrib); 762 id = this.ParseHelper.GetAttributeIdentifier(sourceLineNumbers, attrib);
763 break; 763 break;
764 case "Condition":
765 condition = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib);
766 break;
764 case "Description": 767 case "Description":
765 description = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib); 768 description = this.ParseHelper.GetAttributeValue(sourceLineNumbers, attrib);
766 break; 769 break;
@@ -870,9 +873,6 @@ namespace WixToolset.Util
870 this.Messaging.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, element.Name.LocalName, "TerminateProcess", "RebootPrompt", "yes")); 873 this.Messaging.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(sourceLineNumbers, element.Name.LocalName, "TerminateProcess", "RebootPrompt", "yes"));
871 } 874 }
872 875
873 // get the condition from the inner text of the element
874 condition = this.ParseHelper.GetConditionInnerText(element);
875
876 this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element); 876 this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element);
877 877
878 this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "CloseApplications", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM | CustomActionPlatforms.ARM64); 878 this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "CloseApplications", this.Context.Platform, CustomActionPlatforms.X86 | CustomActionPlatforms.X64 | CustomActionPlatforms.ARM | CustomActionPlatforms.ARM64);
@@ -3606,23 +3606,6 @@ namespace WixToolset.Util
3606 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, UtilSymbolDefinitions.XmlConfig, elementId); 3606 this.ParseHelper.CreateSimpleReference(section, sourceLineNumbers, UtilSymbolDefinitions.XmlConfig, elementId);
3607 } 3607 }
3608 3608
3609 var innerText = this.ParseHelper.GetTrimmedInnerText(element);
3610 if (null != value)
3611 {
3612 // cannot specify both the value attribute and inner text
3613 if (!String.IsNullOrEmpty(innerText))
3614 {
3615 this.Messaging.Write(ErrorMessages.IllegalAttributeWithInnerText(sourceLineNumbers, element.Name.LocalName, "Value"));
3616 }
3617 }
3618 else // value attribute not specified
3619 {
3620 if (!String.IsNullOrEmpty(innerText))
3621 {
3622 value = innerText;
3623 }
3624 }
3625
3626 // find unexpected child elements 3609 // find unexpected child elements
3627 foreach (var child in element.Elements()) 3610 foreach (var child in element.Elements())
3628 { 3611 {
diff --git a/src/wixext/util.xsd b/src/wixext/util.xsd
index 93cdd4ba..bb7a1e39 100644
--- a/src/wixext/util.xsd
+++ b/src/wixext/util.xsd
@@ -26,12 +26,6 @@
26 <xs:complexType> 26 <xs:complexType>
27 <xs:simpleContent> 27 <xs:simpleContent>
28 <xs:extension base="xs:string"> 28 <xs:extension base="xs:string">
29 <xs:annotation>
30 <xs:documentation>
31 Condition that determines if the application should be closed. Must be blank or evaluate to true
32 for the application to be scheduled for closing.
33 </xs:documentation>
34 </xs:annotation>
35 <xs:attribute name="Id" type="xs:string"> 29 <xs:attribute name="Id" type="xs:string">
36 <xs:annotation> 30 <xs:annotation>
37 <xs:documentation>Identifier for the close application (primary key). If the Id is not specified, one will be generated.</xs:documentation> 31 <xs:documentation>Identifier for the close application (primary key). If the Id is not specified, one will be generated.</xs:documentation>
@@ -42,6 +36,14 @@
42 <xs:documentation>Name of the exectuable to be closed. This should only be the file name.</xs:documentation> 36 <xs:documentation>Name of the exectuable to be closed. This should only be the file name.</xs:documentation>
43 </xs:annotation> 37 </xs:annotation>
44 </xs:attribute> 38 </xs:attribute>
39 <xs:attribute name="Condition" type="xs:string">
40 <xs:annotation>
41 <xs:documentation>
42 Condition that determines if the application should be closed. Must be blank or evaluate to true
43 for the application to be scheduled for closing.
44 </xs:documentation>
45 </xs:annotation>
46 </xs:attribute>
45 <xs:attribute name="Description" type="xs:string"> 47 <xs:attribute name="Description" type="xs:string">
46 <xs:annotation> 48 <xs:annotation>
47 <xs:documentation>Description to show if application is running and needs to be closed.</xs:documentation> 49 <xs:documentation>Description to show if application is running and needs to be closed.</xs:documentation>
@@ -562,7 +564,7 @@
562 <xs:attribute name="Name" type="xs:string" use="required"> 564 <xs:attribute name="Name" type="xs:string" use="required">
563 <xs:annotation> 565 <xs:annotation>
564 <xs:documentation> 566 <xs:documentation>
565 The name of the shortcut file, which is visible to the user. (The .lnk 567 The name of the shortcut file, which is visible to the user. (The .lnk
566 extension is added automatically and by default, is not shown to the user.) 568 extension is added automatically and by default, is not shown to the user.)
567 </xs:documentation> 569 </xs:documentation>
568 </xs:annotation> 570 </xs:annotation>
@@ -571,9 +573,9 @@
571 <xs:annotation> 573 <xs:annotation>
572 <xs:documentation> 574 <xs:documentation>
573 URL that should be opened when the user selects the shortcut. Windows 575 URL that should be opened when the user selects the shortcut. Windows
574 opens the URL in the appropriate handler for the protocol specified 576 opens the URL in the appropriate handler for the protocol specified
575 in the URL. Note that this is a formatted field, so you can use 577 in the URL. Note that this is a formatted field, so you can use
576 [#fileId] syntax to refer to a file being installed (using the file: 578 [#fileId] syntax to refer to a file being installed (using the file:
577 protocol). 579 protocol).
578 </xs:documentation> 580 </xs:documentation>
579 </xs:annotation> 581 </xs:annotation>
@@ -958,11 +960,11 @@
958 <xse:remarks> 960 <xse:remarks>
959 <html:p>The custom action that implements RemoveFolderEx does so by writing temporary rows to the RemoveFile table 961 <html:p>The custom action that implements RemoveFolderEx does so by writing temporary rows to the RemoveFile table
960 for each subfolder of the root folder you specify. Because it might dramatically affect Windows Installer's 962 for each subfolder of the root folder you specify. Because it might dramatically affect Windows Installer's
961 <html:a href="http://msdn.microsoft.com/en-us/library/aa368593.aspx">File Costing</html:a>, 963 <html:a href="http://msdn.microsoft.com/en-us/library/aa368593.aspx">File Costing</html:a>,
962 the temporary rows must be written before the CostInitialize standard action. Unfortunately, MSI doesn't 964 the temporary rows must be written before the CostInitialize standard action. Unfortunately, MSI doesn't
963 create properties for the Directory hierarchy in your package until later, in the CostFinalize action.</html:p> 965 create properties for the Directory hierarchy in your package until later, in the CostFinalize action.</html:p>
964 <html:p>An easy workaround for a typical use case of removing a folder during uninstall is to write the directory 966 <html:p>An easy workaround for a typical use case of removing a folder during uninstall is to write the directory
965 path to the registry and to load it during uninstall. See 967 path to the registry and to load it during uninstall. See
966 <html:a href="http://robmensching.com/blog/posts/2010/5/2/the-wix-toolsets-remember-property-pattern">The WiX toolset's "Remember Property" pattern</html:a> 968 <html:a href="http://robmensching.com/blog/posts/2010/5/2/the-wix-toolsets-remember-property-pattern">The WiX toolset's "Remember Property" pattern</html:a>
967 for an example.</html:p> 969 for an example.</html:p>
968 <html:p>If you use custom actions to set properties, ensure that they are scheduled before the WixRemoveFoldersEx custom action.</html:p> 970 <html:p>If you use custom actions to set properties, ensure that they are scheduled before the WixRemoveFoldersEx custom action.</html:p>
@@ -970,8 +972,8 @@
970 </xs:appinfo> 972 </xs:appinfo>
971 <xs:documentation> 973 <xs:documentation>
972 Remove a folder and all contained files and folders if the parent component is selected for installation or removal. 974 Remove a folder and all contained files and folders if the parent component is selected for installation or removal.
973 The folder must be specified in the Property attribute as the name of a property that will have a value that resolves 975 The folder must be specified in the Property attribute as the name of a property that will have a value that resolves
974 to the full path of the folder before the CostInitialize action. Note that Directory ids cannot be used. 976 to the full path of the folder before the CostInitialize action. Note that Directory ids cannot be used.
975 For more details, see the Remarks. 977 For more details, see the Remarks.
976 </xs:documentation> 978 </xs:documentation>
977 </xs:annotation> 979 </xs:annotation>
@@ -987,8 +989,8 @@
987 <xs:documentation> 989 <xs:documentation>
988 The id of a property that resolves to the full path of the source directory. The property does not have 990 The id of a property that resolves to the full path of the source directory. The property does not have
989 to exist in the installer database at creation time; it could be created at installation time by a custom 991 to exist in the installer database at creation time; it could be created at installation time by a custom
990 action, on the command line, etc. The property value can contain environment variables surrounded by 992 action, on the command line, etc. The property value can contain environment variables surrounded by
991 percent signs such as from a REG_EXPAND_SZ registry value; environment variables will be expanded before 993 percent signs such as from a REG_EXPAND_SZ registry value; environment variables will be expanded before
992 being evaluated for a full path. 994 being evaluated for a full path.
993 </xs:documentation> 995 </xs:documentation>
994 </xs:annotation> 996 </xs:annotation>
@@ -1390,8 +1392,8 @@
1390 <xs:element name="XmlFile"> 1392 <xs:element name="XmlFile">
1391 <xs:annotation> 1393 <xs:annotation>
1392 <xs:documentation> 1394 <xs:documentation>
1393 Adds or removes .xml file entries. If you use the XmlFile element you must reference WixUtilExtension.dll as it contains the XmlFile custom actions. 1395 Adds or removes .xml file entries. If you use the XmlFile element you must reference WixUtilExtension.dll as it contains the XmlFile custom actions.
1394 </xs:documentation> 1396 </xs:documentation>
1395 <xs:appinfo> 1397 <xs:appinfo>
1396 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Component" /> 1398 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Component" />
1397 </xs:appinfo> 1399 </xs:appinfo>
@@ -1420,8 +1422,8 @@
1420 <xs:attribute name="Value" type="xs:string"> 1422 <xs:attribute name="Value" type="xs:string">
1421 <xs:annotation> 1423 <xs:annotation>
1422 <xs:documentation> 1424 <xs:documentation>
1423 The value to be written. See the <html:a href="http://msdn.microsoft.com/library/aa368609(VS.85).aspx" target="_blank">Formatted topic</html:a> for information how to escape square brackets in the value. 1425 The value to be written. See the <html:a href="http://msdn.microsoft.com/library/aa368609(VS.85).aspx" target="_blank">Formatted topic</html:a> for information how to escape square brackets in the value.
1424 </xs:documentation> 1426 </xs:documentation>
1425 </xs:annotation> 1427 </xs:annotation>
1426 </xs:attribute> 1428 </xs:attribute>
1427 <xs:attribute name="Action" use="required"> 1429 <xs:attribute name="Action" use="required">
@@ -1471,8 +1473,8 @@
1471 <xs:attribute name="SelectionLanguage"> 1473 <xs:attribute name="SelectionLanguage">
1472 <xs:annotation> 1474 <xs:annotation>
1473 <xs:documentation> 1475 <xs:documentation>
1474 Specify whether the DOM object should use XPath language or the old XSLPattern language (default) as the query language. 1476 Specify whether the DOM object should use XPath language or the old XSLPattern language (default) as the query language.
1475 </xs:documentation> 1477 </xs:documentation>
1476 </xs:annotation> 1478 </xs:annotation>
1477 <xs:simpleType> 1479 <xs:simpleType>
1478 <xs:restriction base="xs:NMTOKEN"> 1480 <xs:restriction base="xs:NMTOKEN">
@@ -1486,13 +1488,13 @@
1486 <xs:element name="XmlConfig"> 1488 <xs:element name="XmlConfig">
1487 <xs:annotation> 1489 <xs:annotation>
1488 <xs:documentation> 1490 <xs:documentation>
1489 Adds or removes .xml file entries. If you use the XmlConfig element you must reference WixUtilExtension.dll as it contains the XmlConfig custom actions. 1491 Adds or removes .xml file entries. If you use the XmlConfig element you must reference WixUtilExtension.dll as it contains the XmlConfig custom actions.
1490 </xs:documentation> 1492 </xs:documentation>
1491 <xs:appinfo> 1493 <xs:appinfo>
1492 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Component" /> 1494 <xse:parent namespace="http://wixtoolset.org/schemas/v4/wxs" ref="Component" />
1493 </xs:appinfo> 1495 </xs:appinfo>
1494 </xs:annotation> 1496 </xs:annotation>
1495 <xs:complexType mixed="true"> 1497 <xs:complexType>
1496 <xs:sequence> 1498 <xs:sequence>
1497 <xs:element ref="XmlConfig" minOccurs="0" maxOccurs="unbounded" /> 1499 <xs:element ref="XmlConfig" minOccurs="0" maxOccurs="unbounded" />
1498 </xs:sequence> 1500 </xs:sequence>
@@ -1559,8 +1561,8 @@
1559 <xs:attribute name="Value" type="xs:string"> 1561 <xs:attribute name="Value" type="xs:string">
1560 <xs:annotation> 1562 <xs:annotation>
1561 <xs:documentation> 1563 <xs:documentation>
1562 The value to be written. See the <html:a href="http://msdn.microsoft.com/library/aa368609(VS.85).aspx" target="_blank">Formatted topic</html:a> for information how to escape square brackets in the value. 1564 The value to be written. See the <html:a href="https://docs.microsoft.com/en-us/windows/win32/msi/formatted" target="_blank">Formatted topic</html:a> for information how to escape square brackets in the value.
1563 </xs:documentation> 1565 </xs:documentation>
1564 </xs:annotation> 1566 </xs:annotation>
1565 </xs:attribute> 1567 </xs:attribute>
1566 <xs:attribute name="VerifyPath" type="xs:string"> 1568 <xs:attribute name="VerifyPath" type="xs:string">
diff --git a/src/wixlib/UtilExtension.wxs b/src/wixlib/UtilExtension.wxs
index 62d9e37a..2e9ad272 100644
--- a/src/wixlib/UtilExtension.wxs
+++ b/src/wixlib/UtilExtension.wxs
@@ -1,5 +1,4 @@
1<?xml version="1.0" encoding="UTF-8"?> 1<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 2
4 3
5<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
@@ -8,71 +7,69 @@
8 7
9 <Fragment> 8 <Fragment>
10 <UI Id="ConfigureUsersErrorText"> 9 <UI Id="ConfigureUsersErrorText">
11 <Error Id="$(var.msierrUSRFailedUserCreate)">!(loc.msierrUSRFailedUserCreate)</Error> 10 <Error Id="$(var.msierrUSRFailedUserCreate)" Message="!(loc.msierrUSRFailedUserCreate)" />
12 <Error Id="$(var.msierrUSRFailedUserCreatePswd)">!(loc.msierrUSRFailedUserCreatePswd)</Error> 11 <Error Id="$(var.msierrUSRFailedUserCreatePswd)" Message="!(loc.msierrUSRFailedUserCreatePswd)" />
13 <Error Id="$(var.msierrUSRFailedUserGroupAdd)">!(loc.msierrUSRFailedUserGroupAdd)</Error> 12 <Error Id="$(var.msierrUSRFailedUserGroupAdd)" Message="!(loc.msierrUSRFailedUserGroupAdd)" />
14 <Error Id="$(var.msierrUSRFailedGrantLogonAsService)">Failed to grant 'logon as service' rights to user. ([2] [3] [4] [5])</Error> 13 <Error Id="$(var.msierrUSRFailedGrantLogonAsService)" Message="Failed to grant 'logon as service' rights to user. ([2] [3] [4] [5])" />
15 <Error Id="$(var.msierrUSRFailedUserCreateExists)">!(loc.msierrUSRFailedUserCreateExists)</Error> 14 <Error Id="$(var.msierrUSRFailedUserCreateExists)" Message="!(loc.msierrUSRFailedUserCreateExists)" />
16 </UI> 15 </UI>
17 </Fragment> 16 </Fragment>
18 17
19 <Fragment> 18 <Fragment>
20 <UI Id="ConfigureSmbErrorsText"> 19 <UI Id="ConfigureSmbErrorsText">
21 <Error Id="$(var.msierrSMBFailedCreate)">!(loc.msierrSMBFailedCreate)</Error> 20 <Error Id="$(var.msierrSMBFailedCreate)" Message="!(loc.msierrSMBFailedCreate)" />
22 <Error Id="$(var.msierrSMBFailedDrop)">!(loc.msierrSMBFailedDrop)</Error> 21 <Error Id="$(var.msierrSMBFailedDrop)" Message="!(loc.msierrSMBFailedDrop)" />
23 </UI> 22 </UI>
24 </Fragment> 23 </Fragment>
25 24
26 <Fragment> 25 <Fragment>
27 <UI Id="PerCounterDataErrorsText"> 26 <UI Id="PerCounterDataErrorsText">
28 <Error Id="$(var.msierrInstallPerfCounterData)">!(loc.msierrInstallPerfCounterData)</Error> 27 <Error Id="$(var.msierrInstallPerfCounterData)" Message="!(loc.msierrInstallPerfCounterData)" />
29 <Error Id="$(var.msierrUninstallPerfCounterData)">!(loc.msierrUninstallPerfCounterData)</Error> 28 <Error Id="$(var.msierrUninstallPerfCounterData)" Message="!(loc.msierrUninstallPerfCounterData)" />
30 </UI> 29 </UI>
31 </Fragment> 30 </Fragment>
32 31
33 <Fragment> 32 <Fragment>
34 <UI Id="ConfigurePerfmonErrorsText"> 33 <UI Id="ConfigurePerfmonErrorsText">
35 <Error Id="$(var.msierrPERFMONFailedRegisterDLL)">!(loc.msierrPERFMONFailedRegisterDLL)</Error> 34 <Error Id="$(var.msierrPERFMONFailedRegisterDLL)" Message="!(loc.msierrPERFMONFailedRegisterDLL)" />
36 <Error Id="$(var.msierrPERFMONFailedUnregisterDLL)">!(loc.msierrPERFMONFailedUnregisterDLL)</Error> 35 <Error Id="$(var.msierrPERFMONFailedUnregisterDLL)" Message="!(loc.msierrPERFMONFailedUnregisterDLL)" />
37 </UI> 36 </UI>
38 </Fragment> 37 </Fragment>
39 38
40 <Fragment> 39 <Fragment>
41 <UI Id="SecureObjectsErrors"> 40 <UI Id="SecureObjectsErrors">
42 <Error Id="$(var.msierrSecureObjectsFailedCreateSD)">!(loc.msierrSecureObjectsFailedCreateSD)</Error> 41 <Error Id="$(var.msierrSecureObjectsFailedCreateSD)" Message="!(loc.msierrSecureObjectsFailedCreateSD)" />
43 <Error Id="$(var.msierrSecureObjectsFailedSet)">!(loc.msierrSecureObjectsFailedSet)</Error> 42 <Error Id="$(var.msierrSecureObjectsFailedSet)" Message="!(loc.msierrSecureObjectsFailedSet)" />
44 <Error Id="$(var.msierrSecureObjectsUnknownType)">!(loc.msierrSecureObjectsUnknownType)</Error> 43 <Error Id="$(var.msierrSecureObjectsUnknownType)" Message="!(loc.msierrSecureObjectsUnknownType)" />
45 </UI> 44 </UI>
46 </Fragment> 45 </Fragment>
47 46
48 <Fragment> 47 <Fragment>
49 <UI Id="XmlFileErrorsText"> 48 <UI Id="XmlFileErrorsText">
50 <Error Id="$(var.msierrXmlFileFailedRead)">!(loc.msierrXmlFileFailedRead)</Error> 49 <Error Id="$(var.msierrXmlFileFailedRead)" Message="!(loc.msierrXmlFileFailedRead)" />
51 <Error Id="$(var.msierrXmlFileFailedOpen)">!(loc.msierrXmlFileFailedOpen)</Error> 50 <Error Id="$(var.msierrXmlFileFailedOpen)" Message="!(loc.msierrXmlFileFailedOpen)" />
52 <Error Id="$(var.msierrXmlFileFailedSelect)">!(loc.msierrXmlFileFailedSelect)</Error> 51 <Error Id="$(var.msierrXmlFileFailedSelect)" Message="!(loc.msierrXmlFileFailedSelect)" />
53 <Error Id="$(var.msierrXmlFileFailedSave)">!(loc.msierrXmlFileFailedSave)</Error> 52 <Error Id="$(var.msierrXmlFileFailedSave)" Message="!(loc.msierrXmlFileFailedSave)" />
54 </UI> 53 </UI>
55 </Fragment> 54 </Fragment>
56 55
57 <Fragment> 56 <Fragment>
58 <UI Id="XmlConfigErrorsText"> 57 <UI Id="XmlConfigErrorsText">
59 <Error Id="$(var.msierrXmlConfigFailedRead)">!(loc.msierrXmlConfigFailedRead)</Error> 58 <Error Id="$(var.msierrXmlConfigFailedRead)" Message="!(loc.msierrXmlConfigFailedRead)" />
60 <Error Id="$(var.msierrXmlConfigFailedOpen)">!(loc.msierrXmlConfigFailedOpen)</Error> 59 <Error Id="$(var.msierrXmlConfigFailedOpen)" Message="!(loc.msierrXmlConfigFailedOpen)" />
61 <Error Id="$(var.msierrXmlConfigFailedSelect)">!(loc.msierrXmlConfigFailedSelect)</Error> 60 <Error Id="$(var.msierrXmlConfigFailedSelect)" Message="!(loc.msierrXmlConfigFailedSelect)" />
62 <Error Id="$(var.msierrXmlConfigFailedSave)">!(loc.msierrXmlConfigFailedSave)</Error> 61 <Error Id="$(var.msierrXmlConfigFailedSave)" Message="!(loc.msierrXmlConfigFailedSave)" />
63 </UI> 62 </UI>
64 </Fragment> 63 </Fragment>
65 64
66 <!-- WiX OS-detection properties and custom action --> 65 <!-- WiX OS-detection properties and custom action -->
67 <Fragment> 66 <Fragment>
68 <CustomAction Id="$(var.Prefix)QueryOsInfo$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixQueryOsInfo" Execute="firstSequence" Return="check" SuppressModularization="yes" /> 67 <CustomAction Id="$(var.Prefix)QueryOsInfo$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixQueryOsInfo" Execute="firstSequence" Return="check" SuppressModularization="yes" />
69
70 <InstallExecuteSequence> 68 <InstallExecuteSequence>
71 <Custom Action="$(var.Prefix)QueryOsInfo$(var.Suffix)" After="AppSearch" Overridable="yes">VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)</Custom> 69 <Custom Action="$(var.Prefix)QueryOsInfo$(var.Suffix)" After="AppSearch" Overridable="yes" Condition="VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)" />
72 </InstallExecuteSequence> 70 </InstallExecuteSequence>
73
74 <InstallUISequence> 71 <InstallUISequence>
75 <Custom Action="$(var.Prefix)QueryOsInfo$(var.Suffix)" After="AppSearch" Overridable="yes">VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)</Custom> 72 <Custom Action="$(var.Prefix)QueryOsInfo$(var.Suffix)" After="AppSearch" Overridable="yes" Condition="VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)" />
76 </InstallUISequence> 73 </InstallUISequence>
77 </Fragment> 74 </Fragment>
78 75
@@ -159,13 +156,11 @@
159 156
160 <Fragment> 157 <Fragment>
161 <CustomAction Id="$(var.Prefix)QueryOsDirs$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixQueryOsDirs" Execute="firstSequence" Return="check" SuppressModularization="yes" /> 158 <CustomAction Id="$(var.Prefix)QueryOsDirs$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixQueryOsDirs" Execute="firstSequence" Return="check" SuppressModularization="yes" />
162
163 <InstallExecuteSequence> 159 <InstallExecuteSequence>
164 <Custom Action="$(var.Prefix)QueryOsDirs$(var.Suffix)" After="AppSearch" Overridable="yes">VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)</Custom> 160 <Custom Action="$(var.Prefix)QueryOsDirs$(var.Suffix)" After="AppSearch" Overridable="yes" Condition="VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)" />
165 </InstallExecuteSequence> 161 </InstallExecuteSequence>
166
167 <InstallUISequence> 162 <InstallUISequence>
168 <Custom Action="$(var.Prefix)QueryOsDirs$(var.Suffix)" After="AppSearch" Overridable="yes">VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)</Custom> 163 <Custom Action="$(var.Prefix)QueryOsDirs$(var.Suffix)" After="AppSearch" Overridable="yes" Condition="VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)" />
169 </InstallUISequence> 164 </InstallUISequence>
170 </Fragment> 165 </Fragment>
171 166
@@ -266,14 +261,13 @@
266 <CustomAction Id="$(var.Prefix)QueryOsWellKnownSID$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixQueryOsWellKnownSID" Execute="firstSequence" Return="check" SuppressModularization="yes" /> 261 <CustomAction Id="$(var.Prefix)QueryOsWellKnownSID$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixQueryOsWellKnownSID" Execute="firstSequence" Return="check" SuppressModularization="yes" />
267 262
268 <InstallExecuteSequence> 263 <InstallExecuteSequence>
269 <Custom Action="$(var.Prefix)QueryOsWellKnownSID$(var.Suffix)" After="AppSearch" Overridable="yes">VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)</Custom> 264 <Custom Action="$(var.Prefix)QueryOsWellKnownSID$(var.Suffix)" After="AppSearch" Overridable="yes" Condition="VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)" />
270 </InstallExecuteSequence> 265 </InstallExecuteSequence>
271 266
272 <InstallUISequence> 267 <InstallUISequence>
273 <Custom Action="$(var.Prefix)QueryOsWellKnownSID$(var.Suffix)" After="AppSearch" Overridable="yes">VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)</Custom> 268 <Custom Action="$(var.Prefix)QueryOsWellKnownSID$(var.Suffix)" After="AppSearch" Overridable="yes" Condition="VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)" />
274 </InstallUISequence> 269 </InstallUISequence>
275 </Fragment> 270 </Fragment>
276
277 <Fragment> 271 <Fragment>
278 <Property Id="WIX_ACCOUNT_LOCALSYSTEM" Secure="yes" /> 272 <Property Id="WIX_ACCOUNT_LOCALSYSTEM" Secure="yes" />
279 <CustomActionRef Id="$(var.Prefix)QueryOsWellKnownSID$(var.Suffix)" /> 273 <CustomActionRef Id="$(var.Prefix)QueryOsWellKnownSID$(var.Suffix)" />
@@ -305,25 +299,25 @@
305 </Fragment> 299 </Fragment>
306 300
307 <Fragment> 301 <Fragment>
308 <CustomAction Id="$(var.Prefix)QueryOsDriverInfo$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixQueryOsDriverInfo" Execute="firstSequence" Return="check" SuppressModularization="yes" /> 302 <CustomAction Id="$(var.Prefix)QueryOsDriverInfo$(var.Suffix)" BinaryKey="$(var.Prefix)UtilCA$(var.Suffix)" DllEntry="WixQueryOsDriverInfo" Execute="firstSequence" Return="check" SuppressModularization="yes" />
309 303
310 <InstallExecuteSequence> 304 <InstallExecuteSequence>
311 <Custom Action="$(var.Prefix)QueryOsDriverInfo$(var.Suffix)" After="AppSearch" Overridable="yes">VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)</Custom> 305 <Custom Action="$(var.Prefix)QueryOsDriverInfo$(var.Suffix)" After="AppSearch" Overridable="yes" Condition="VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)" />
312 </InstallExecuteSequence> 306 </InstallExecuteSequence>
313 307
314 <InstallUISequence> 308 <InstallUISequence>
315 <Custom Action="$(var.Prefix)QueryOsDriverInfo$(var.Suffix)" After="AppSearch" Overridable="yes">VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)</Custom> 309 <Custom Action="$(var.Prefix)QueryOsDriverInfo$(var.Suffix)" After="AppSearch" Overridable="yes" Condition="VersionNT &gt; 400 OR (VersionNT = 400 AND ServicePackLevel &gt; 3)" />
316 </InstallUISequence> 310 </InstallUISequence>
317 </Fragment> 311 </Fragment>
318 312
319 <Fragment> 313 <Fragment>
320 <Property Id="WIX_WDDM_DRIVER_PRESENT" Secure="yes" /> 314 <Property Id="WIX_WDDM_DRIVER_PRESENT" Secure="yes" />
321 <CustomActionRef Id="$(var.Prefix)QueryOsDriverInfo$(var.Suffix)" /> 315 <CustomActionRef Id="$(var.Prefix)QueryOsDriverInfo$(var.Suffix)" />
322 </Fragment> 316 </Fragment>
323 317
324 <Fragment> 318 <Fragment>
325 <Property Id="WIX_DWM_COMPOSITION_ENABLED" Secure="yes" /> 319 <Property Id="WIX_DWM_COMPOSITION_ENABLED" Secure="yes" />
326 <CustomActionRef Id="$(var.Prefix)QueryOsDriverInfo$(var.Suffix)" /> 320 <CustomActionRef Id="$(var.Prefix)QueryOsDriverInfo$(var.Suffix)" />
327 </Fragment> 321 </Fragment>
328 322
329 <Fragment> 323 <Fragment>
diff --git a/src/wixlib/UtilExtension_arm.wxs b/src/wixlib/UtilExtension_arm.wxs
index c3ec27f7..8ae19029 100644
--- a/src/wixlib/UtilExtension_arm.wxs
+++ b/src/wixlib/UtilExtension_arm.wxs
@@ -1,5 +1,4 @@
1<?xml version="1.0"?> 1<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 2
4 3
5<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
diff --git a/src/wixlib/UtilExtension_arm64.wxs b/src/wixlib/UtilExtension_arm64.wxs
index 1d552acf..b9dc73b8 100644
--- a/src/wixlib/UtilExtension_arm64.wxs
+++ b/src/wixlib/UtilExtension_arm64.wxs
@@ -1,5 +1,4 @@
1<?xml version="1.0"?> 1<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 2
4 3
5<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
diff --git a/src/wixlib/UtilExtension_x64.wxs b/src/wixlib/UtilExtension_x64.wxs
index e902f97a..40cdf306 100644
--- a/src/wixlib/UtilExtension_x64.wxs
+++ b/src/wixlib/UtilExtension_x64.wxs
@@ -1,5 +1,4 @@
1<?xml version="1.0"?> 1<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 2
4 3
5<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
diff --git a/src/wixlib/UtilExtension_x86.wxs b/src/wixlib/UtilExtension_x86.wxs
index ff4f08c4..bd0fa562 100644
--- a/src/wixlib/UtilExtension_x86.wxs
+++ b/src/wixlib/UtilExtension_x86.wxs
@@ -1,5 +1,4 @@
1<?xml version="1.0"?> 1<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 2
4 3
5<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">