aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2024-12-29 14:04:28 -0800
committerRob Mensching <rob@firegiant.com>2024-12-30 06:45:49 -0800
commit6edc5d1e2a289eac50c6d59a29e195353bb023cb (patch)
treec162d40ec9b8a972b8a89afa5a79017a3d3a1902
parentd9bb1133c2913d7129b3b103bd4a75f01d24625c (diff)
downloadwix-6edc5d1e2a289eac50c6d59a29e195353bb023cb.tar.gz
wix-6edc5d1e2a289eac50c6d59a29e195353bb023cb.tar.bz2
wix-6edc5d1e2a289eac50c6d59a29e195353bb023cb.zip
Add Package/@Id and Bundle/@Id that can replace UpgradeCodes
Completes 8584
-rw-r--r--src/setup/ThmViewerPackage/ThmViewerPackage.wxs2
-rw-r--r--src/setup/WixAdditionalTools/WixAdditionalTools.wxs2
-rw-r--r--src/setup/wix-cli/Package.wxs2
-rw-r--r--src/wix/WixToolset.Core.WindowsInstaller/Decompile/Decompiler.cs3
-rw-r--r--src/wix/WixToolset.Core/Compiler.cs3
-rw-r--r--src/wix/WixToolset.Core/Compiler_Bundle.cs17
-rw-r--r--src/wix/WixToolset.Core/Compiler_Package.cs20
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/BundlePackageFixture.cs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/ContainerFixture.cs12
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs18
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/DuplicateCrossFragmentReference.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/DuplicatePublicOverrideVirtualSymbol.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/DuplicatedOverrideVirtualSymbol.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/DuplicatedVirtualSymbol.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/HasVirtualSymbol.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/InvalidCrossFragmentReference.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/OverrideVirtualSymbol.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/OverrideVirtualSymbolWithFragments.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/OverrideWithoutVirtualSymbol.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/VirtualSymbolOverridden.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/VirtualSymbolThatDoesNotGetOverridden.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/VirtualSymbolWithoutOverride.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/AllUsers/PerMachine.wxs4
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/AllUsers/PerUser.wxs4
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/AllUsers/PerUserOrMachine.wxs4
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/AppId/TopLevelAppId.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/Assembly/Package.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/Assembly1x/Package.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/BadIf/Package.wxs4
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/BindVariables/PackageWithBindVariables.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/BundleAllUsers/AllUsersPackage.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/Comments/PackageCustom.wxs6
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/Comments/PackageDefault.wxs6
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/ComplexExampleExtension/Package.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/Components/Package.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/CustomTable/CustomTable-Expected.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/DefaultMajorUpgrade/DefaultMajorUpgrade.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/DefaultMajorUpgradeNone/DefaultMajorUpgradeNone.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/DefaultMajorUpgradeOverride/DefaultMajorUpgrade.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/DefaultMajorUpgradeReschedule/DefaultMajorUpgradeReschedule.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/Directory/RedundantSubdirectoryInSecondSection.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/Encoding/Encoding.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/TestData/ProductWithComponentGroupRef/Product.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/UpgradeFixture.cs4
-rw-r--r--src/wix/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/MsiPackage/Package.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.Sdk/TestData/SingleCultureWithFallbackMsiPackage/Package.wxs2
-rw-r--r--src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/PackageIncludesWixlib/Package.wxs2
47 files changed, 104 insertions, 69 deletions
diff --git a/src/setup/ThmViewerPackage/ThmViewerPackage.wxs b/src/setup/ThmViewerPackage/ThmViewerPackage.wxs
index eb399686..df398d0f 100644
--- a/src/setup/ThmViewerPackage/ThmViewerPackage.wxs
+++ b/src/setup/ThmViewerPackage/ThmViewerPackage.wxs
@@ -1,6 +1,6 @@
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. --> 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<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3 <Package Name="WiX Toolset Theme Viewer" Manufacturer="WiX Toolset" Language="1033" Version="!(bind.fileVersion.ThmViewerFile)" UpgradeCode="59c4b122-5167-445b-8fc4-09dcd4eced89"> 3 <Package Id="WixToolset.ThemeViewer.Package" Name="WiX Toolset Theme Viewer" Manufacturer="WiX Toolset" Language="1033" Version="!(bind.fileVersion.ThmViewerFile)">
4 <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." /> 4 <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
5 5
6 <Feature Id="Main"> 6 <Feature Id="Main">
diff --git a/src/setup/WixAdditionalTools/WixAdditionalTools.wxs b/src/setup/WixAdditionalTools/WixAdditionalTools.wxs
index 6a9f945f..9369f32e 100644
--- a/src/setup/WixAdditionalTools/WixAdditionalTools.wxs
+++ b/src/setup/WixAdditionalTools/WixAdditionalTools.wxs
@@ -2,7 +2,7 @@
2 2
3<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" 3<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
4 xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal"> 4 xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
5 <Bundle Name="!(loc.Name)" Manufacturer="WiX Toolset" Version="$(SetupVersion)" UpgradeCode="fc48131d-214a-439b-9a31-ef2ea5c69ea5" 5 <Bundle Id="WixToolset.WixAdditionalTools" Name="!(loc.Name)" Manufacturer="WiX Toolset" Version="$(SetupVersion)"
6 AboutUrl="!(loc.AboutUrl)" HelpUrl="!(loc.SupportUrl)" UpdateUrl="!(loc.UpdateUrl)"> 6 AboutUrl="!(loc.AboutUrl)" HelpUrl="!(loc.SupportUrl)" UpdateUrl="!(loc.UpdateUrl)">
7 <BootstrapperApplication> 7 <BootstrapperApplication>
8 <bal:WixStandardBootstrapperApplication 8 <bal:WixStandardBootstrapperApplication
diff --git a/src/setup/wix-cli/Package.wxs b/src/setup/wix-cli/Package.wxs
index 9c193130..c777f356 100644
--- a/src/setup/wix-cli/Package.wxs
+++ b/src/setup/wix-cli/Package.wxs
@@ -1,6 +1,6 @@
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. --> 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<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3 <Package Name="WiX Toolset Command-Line Tools" Manufacturer="WiX Toolset" Version="!(bind.fileVersion.WixExe)" UpgradeCode="2e85dc76-769f-46d2-82a7-46cb3a0c9d50"> 3 <Package Id="WixToolset.CommandLineTools.Package" Name="WiX Toolset Command-Line Tools" Manufacturer="WiX Toolset" Version="!(bind.fileVersion.WixExe)">
4 <MediaTemplate EmbedCab="yes" /> 4 <MediaTemplate EmbedCab="yes" />
5 5
6 <ComponentGroupRef Id="BinaryFiles" /> 6 <ComponentGroupRef Id="BinaryFiles" />
diff --git a/src/wix/WixToolset.Core.WindowsInstaller/Decompile/Decompiler.cs b/src/wix/WixToolset.Core.WindowsInstaller/Decompile/Decompiler.cs
index 788e87b8..ebf0ae8c 100644
--- a/src/wix/WixToolset.Core.WindowsInstaller/Decompile/Decompiler.cs
+++ b/src/wix/WixToolset.Core.WindowsInstaller/Decompile/Decompiler.cs
@@ -6216,6 +6216,9 @@ namespace WixToolset.Core.WindowsInstaller.Decompile
6216 case "Manufacturer": 6216 case "Manufacturer":
6217 this.DecompilerHelper.RootElement.SetAttributeValue("Manufacturer", value); 6217 this.DecompilerHelper.RootElement.SetAttributeValue("Manufacturer", value);
6218 continue; 6218 continue;
6219 case "PackageId":
6220 this.DecompilerHelper.RootElement.SetAttributeValue("Id", value);
6221 continue;
6219 case "ProductCode": 6222 case "ProductCode":
6220 this.DecompilerHelper.RootElement.SetAttributeValue("ProductCode", value.ToUpper(CultureInfo.InvariantCulture)); 6223 this.DecompilerHelper.RootElement.SetAttributeValue("ProductCode", value.ToUpper(CultureInfo.InvariantCulture));
6221 continue; 6224 continue;
diff --git a/src/wix/WixToolset.Core/Compiler.cs b/src/wix/WixToolset.Core/Compiler.cs
index e359f3c1..b4980b07 100644
--- a/src/wix/WixToolset.Core/Compiler.cs
+++ b/src/wix/WixToolset.Core/Compiler.cs
@@ -29,6 +29,9 @@ namespace WixToolset.Core
29 private const char ComponentIdPlaceholderEnd = (char)167; 29 private const char ComponentIdPlaceholderEnd = (char)167;
30 private Dictionary<string, string> componentIdPlaceholders; 30 private Dictionary<string, string> componentIdPlaceholders;
31 31
32 // As outlined in RFC 4122, this is our namespace for generating name-based (version 3) UUIDs for upgrade codes.
33 private static readonly Guid UpgradeCodeGuidNamespace = new Guid("{D9C5E8D9-0F97-4D24-A235-91BD2FA169A6}");
34
32 // If these are true you know you are building a module or product 35 // If these are true you know you are building a module or product
33 // but if they are false you cannot not be sure they will not end 36 // but if they are false you cannot not be sure they will not end
34 // up a product or module. Use these flags carefully. 37 // up a product or module. Use these flags carefully.
diff --git a/src/wix/WixToolset.Core/Compiler_Bundle.cs b/src/wix/WixToolset.Core/Compiler_Bundle.cs
index fcf31014..38dbd4c2 100644
--- a/src/wix/WixToolset.Core/Compiler_Bundle.cs
+++ b/src/wix/WixToolset.Core/Compiler_Bundle.cs
@@ -115,6 +115,7 @@ namespace WixToolset.Core
115 private void ParseBundleElement(XElement node) 115 private void ParseBundleElement(XElement node)
116 { 116 {
117 var sourceLineNumbers = Preprocessor.GetSourceLineNumbers(node); 117 var sourceLineNumbers = Preprocessor.GetSourceLineNumbers(node);
118 Identifier id = null;
118 string copyright = null; 119 string copyright = null;
119 string aboutUrl = null; 120 string aboutUrl = null;
120 var modifyType = WixBundleModifyType.Allowed; 121 var modifyType = WixBundleModifyType.Allowed;
@@ -144,6 +145,9 @@ namespace WixToolset.Core
144 { 145 {
145 switch (attrib.Name.LocalName) 146 switch (attrib.Name.LocalName)
146 { 147 {
148 case "Id":
149 id = this.Core.GetAttributeIdentifier(sourceLineNumbers, attrib);
150 break;
147 case "AboutUrl": 151 case "AboutUrl":
148 aboutUrl = this.Core.GetAttributeValue(sourceLineNumbers, attrib); 152 aboutUrl = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
149 break; 153 break;
@@ -233,7 +237,14 @@ namespace WixToolset.Core
233 237
234 if (String.IsNullOrEmpty(upgradeCode)) 238 if (String.IsNullOrEmpty(upgradeCode))
235 { 239 {
236 this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "UpgradeCode")); 240 if (id is null)
241 {
242 this.Core.Write(ErrorMessages.ExpectedAttributes(sourceLineNumbers, node.Name.LocalName, "Id", "UpgradeCode"));
243 }
244 else
245 {
246 upgradeCode = this.Core.CreateGuid(Compiler.UpgradeCodeGuidNamespace, id.Id);
247 }
237 } 248 }
238 249
239 if (String.IsNullOrEmpty(copyright)) 250 if (String.IsNullOrEmpty(copyright))
@@ -265,7 +276,7 @@ namespace WixToolset.Core
265 logVariablePrefixAndExtension = String.Concat("WixBundleLog:", fileSystemSafeBundleName, ":log"); 276 logVariablePrefixAndExtension = String.Concat("WixBundleLog:", fileSystemSafeBundleName, ":log");
266 } 277 }
267 278
268 this.activeName = String.IsNullOrEmpty(name) ? Common.GenerateGuid() : name; 279 this.activeName = String.IsNullOrEmpty(name) ? String.IsNullOrEmpty(id?.Id) ? Common.GenerateGuid() : id.Id : name;
269 this.Core.CreateActiveSection(this.activeName, SectionType.Bundle, this.Context.CompilationId); 280 this.Core.CreateActiveSection(this.activeName, SectionType.Bundle, this.Context.CompilationId);
270 281
271 // Now that the active section is initialized, process only extension attributes and the special ProviderKey attribute. 282 // Now that the active section is initialized, process only extension attributes and the special ProviderKey attribute.
@@ -401,7 +412,7 @@ namespace WixToolset.Core
401 412
402 if (!this.Core.EncounteredError) 413 if (!this.Core.EncounteredError)
403 { 414 {
404 var symbol = this.Core.AddSymbol(new WixBundleSymbol(sourceLineNumbers) 415 var symbol = this.Core.AddSymbol(new WixBundleSymbol(sourceLineNumbers, id)
405 { 416 {
406 UpgradeCode = upgradeCode, 417 UpgradeCode = upgradeCode,
407 Version = version, 418 Version = version,
diff --git a/src/wix/WixToolset.Core/Compiler_Package.cs b/src/wix/WixToolset.Core/Compiler_Package.cs
index b84c5fae..466c87a3 100644
--- a/src/wix/WixToolset.Core/Compiler_Package.cs
+++ b/src/wix/WixToolset.Core/Compiler_Package.cs
@@ -25,6 +25,7 @@ namespace WixToolset.Core
25 private void ParsePackageElement(XElement node) 25 private void ParsePackageElement(XElement node)
26 { 26 {
27 var sourceLineNumbers = Preprocessor.GetSourceLineNumbers(node); 27 var sourceLineNumbers = Preprocessor.GetSourceLineNumbers(node);
28 Identifier id = null;
28 var compressed = YesNoDefaultType.Default; 29 var compressed = YesNoDefaultType.Default;
29 var sourceBits = 0; 30 var sourceBits = 0;
30 string codepage = null; 31 string codepage = null;
@@ -53,6 +54,9 @@ namespace WixToolset.Core
53 { 54 {
54 switch (attrib.Name.LocalName) 55 switch (attrib.Name.LocalName)
55 { 56 {
57 case "Id":
58 id = this.Core.GetAttributeIdentifier(sourceLineNumbers, attrib);
59 break;
56 case "Codepage": 60 case "Codepage":
57 codepage = this.Core.GetAttributeLocalizableCodePageValue(sourceLineNumbers, attrib); 61 codepage = this.Core.GetAttributeLocalizableCodePageValue(sourceLineNumbers, attrib);
58 break; 62 break;
@@ -156,7 +160,14 @@ namespace WixToolset.Core
156 160
157 if (null == upgradeCode) 161 if (null == upgradeCode)
158 { 162 {
159 this.Core.Write(WarningMessages.MissingUpgradeCode(sourceLineNumbers)); 163 if (id is null)
164 {
165 this.Core.Write(WarningMessages.MissingUpgradeCode(sourceLineNumbers));
166 }
167 else
168 {
169 upgradeCode = this.Core.CreateGuid(Compiler.UpgradeCodeGuidNamespace, id.Id);
170 }
160 } 171 }
161 172
162 if (null == version) 173 if (null == version)
@@ -179,6 +190,11 @@ namespace WixToolset.Core
179 this.compilingProduct = true; 190 this.compilingProduct = true;
180 this.Core.CreateActiveSection(productCode, SectionType.Package, this.Context.CompilationId); 191 this.Core.CreateActiveSection(productCode, SectionType.Package, this.Context.CompilationId);
181 192
193 if (null != id)
194 {
195 this.AddProperty(sourceLineNumbers, new Identifier(AccessModifier.Global, "PackageId"), id.Id, false, false, false, true);
196 }
197
182 this.AddProperty(sourceLineNumbers, new Identifier(AccessModifier.Global, "Manufacturer"), manufacturer, false, false, false, true); 198 this.AddProperty(sourceLineNumbers, new Identifier(AccessModifier.Global, "Manufacturer"), manufacturer, false, false, false, true);
183 this.AddProperty(sourceLineNumbers, new Identifier(AccessModifier.Global, "ProductCode"), productCode, false, false, false, true); 199 this.AddProperty(sourceLineNumbers, new Identifier(AccessModifier.Global, "ProductCode"), productCode, false, false, false, true);
184 this.AddProperty(sourceLineNumbers, new Identifier(AccessModifier.Global, "ProductLanguage"), productLanguage, false, false, false, true); 200 this.AddProperty(sourceLineNumbers, new Identifier(AccessModifier.Global, "ProductLanguage"), productLanguage, false, false, false, true);
@@ -392,7 +408,7 @@ namespace WixToolset.Core
392 408
393 if (!this.Core.EncounteredError) 409 if (!this.Core.EncounteredError)
394 { 410 {
395 this.Core.AddSymbol(new WixPackageSymbol(sourceLineNumbers) 411 this.Core.AddSymbol(new WixPackageSymbol(sourceLineNumbers, id)
396 { 412 {
397 PackageId = productCode, 413 PackageId = productCode,
398 UpgradeCode = upgradeCode, 414 UpgradeCode = upgradeCode,
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/BundlePackageFixture.cs b/src/wix/test/WixToolsetTest.CoreIntegration/BundlePackageFixture.cs
index e4ac2dd6..ce5ad17c 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/BundlePackageFixture.cs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/BundlePackageFixture.cs
@@ -386,7 +386,7 @@ namespace WixToolsetTest.CoreIntegration
386 var packageElements = extractResult.GetBADataTestXmlLines("/ba:BootstrapperApplicationData/ba:WixPackageProperties", ignoreAttributesByElementName); 386 var packageElements = extractResult.GetBADataTestXmlLines("/ba:BootstrapperApplicationData/ba:WixPackageProperties", ignoreAttributesByElementName);
387 WixAssert.CompareLineByLine(new[] 387 WixAssert.CompareLineByLine(new[]
388 { 388 {
389 "<WixPackageProperties Package='test.msi' Vital='yes' DisplayName='All Users Package' DownloadSize='*' PackageSize='*' InstalledSize='28' PackageType='Msi' Permanent='no' LogPathVariable='WixBundleLog_test.msi' RollbackLogPathVariable='WixBundleRollbackLog_test.msi' Compressed='no' ProductCode='{33333333-3333-3333-3333-333333333333}' UpgradeCode='{4BE34BEE-CA23-488E-96A0-B15878E3654B}' Version='1.0' Cache='keep' />", 389 "<WixPackageProperties Package='test.msi' Vital='yes' DisplayName='All Users Package' DownloadSize='*' PackageSize='*' InstalledSize='28' PackageType='Msi' Permanent='no' LogPathVariable='WixBundleLog_test.msi' RollbackLogPathVariable='WixBundleRollbackLog_test.msi' Compressed='no' ProductCode='{33333333-3333-3333-3333-333333333333}' UpgradeCode='{C00D7E9A-1276-51ED-B782-A20AB34D4070}' Version='1.0' Cache='keep' />",
390 }, packageElements); 390 }, packageElements);
391 } 391 }
392 } 392 }
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/ContainerFixture.cs b/src/wix/test/WixToolsetTest.CoreIntegration/ContainerFixture.cs
index f0495853..37035664 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/ContainerFixture.cs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/ContainerFixture.cs
@@ -149,21 +149,21 @@ namespace WixToolsetTest.CoreIntegration
149 var msiPackages = extractResult.GetManifestTestXmlLines("/burn:BurnManifest/burn:Chain/burn:MsiPackage", ignoreAttributes); 149 var msiPackages = extractResult.GetManifestTestXmlLines("/burn:BurnManifest/burn:Chain/burn:MsiPackage", ignoreAttributes);
150 WixAssert.CompareLineByLine(new[] 150 WixAssert.CompareLineByLine(new[]
151 { 151 {
152 "<MsiPackage Id='FirstX86.msi' Cache='keep' CacheId='*' InstallSize='*' Size='*' PerMachine='yes' Permanent='no' Vital='yes' RollbackBoundaryForward='WixDefaultBoundary' LogPathVariable='WixBundleLog_FirstX86.msi' RollbackLogPathVariable='WixBundleRollbackLog_FirstX86.msi' ProductCode='*' Language='1033' Version='1.0.0.0' UpgradeCode='{12E4699F-E774-4D05-8A01-5BDD41BBA127}'>" + 152 "<MsiPackage Id='FirstX86.msi' Cache='keep' CacheId='*' InstallSize='*' Size='*' PerMachine='yes' Permanent='no' Vital='yes' RollbackBoundaryForward='WixDefaultBoundary' LogPathVariable='WixBundleLog_FirstX86.msi' RollbackLogPathVariable='WixBundleRollbackLog_FirstX86.msi' ProductCode='*' Language='1033' Version='1.0.0.0' UpgradeCode='{C00D7E9A-1276-51ED-B782-A20AB34D4070}'>" +
153 "<MsiProperty Id='MSIFASTINSTALL' Value='1' />" + 153 "<MsiProperty Id='MSIFASTINSTALL' Value='1' />" +
154 "<MsiProperty Id='ARPSYSTEMCOMPONENT' Value='1' />" + 154 "<MsiProperty Id='ARPSYSTEMCOMPONENT' Value='1' />" +
155 $"<Provides Key='{GetProductCodeFromMsiPdb(pdbPaths[0])}_v1.0.0.0' Version='1.0.0.0' DisplayName='MsiPackage' />" + 155 $"<Provides Key='{GetProductCodeFromMsiPdb(pdbPaths[0])}_v1.0.0.0' Version='1.0.0.0' DisplayName='MsiPackage' />" +
156 "<RelatedPackage Id='{12E4699F-E774-4D05-8A01-5BDD41BBA127}' MaxVersion='1.0.0.0' MaxInclusive='no' OnlyDetect='no' LangInclusive='yes'><Language Id='1033' /></RelatedPackage>" + 156 "<RelatedPackage Id='{C00D7E9A-1276-51ED-B782-A20AB34D4070}' MaxVersion='1.0.0.0' MaxInclusive='no' OnlyDetect='no' LangInclusive='yes'><Language Id='1033' /></RelatedPackage>" +
157 "<RelatedPackage Id='{12E4699F-E774-4D05-8A01-5BDD41BBA127}' MinVersion='1.0.0.0' MinInclusive='no' OnlyDetect='yes' LangInclusive='yes'><Language Id='1033' /></RelatedPackage>" + 157 "<RelatedPackage Id='{C00D7E9A-1276-51ED-B782-A20AB34D4070}' MinVersion='1.0.0.0' MinInclusive='no' OnlyDetect='yes' LangInclusive='yes'><Language Id='1033' /></RelatedPackage>" +
158 "<PayloadRef Id='FirstX86.msi' />" + 158 "<PayloadRef Id='FirstX86.msi' />" +
159 "<PayloadRef Id='fk1m38Cf9RZ2Bx_ipinRY6BftelU' />" + 159 "<PayloadRef Id='fk1m38Cf9RZ2Bx_ipinRY6BftelU' />" +
160 "</MsiPackage>", 160 "</MsiPackage>",
161 "<MsiPackage Id='FirstX64.msi' Cache='keep' CacheId='*' InstallSize='*' Size='*' PerMachine='yes' Permanent='no' Vital='yes' RollbackBoundaryBackward='WixDefaultBoundary' LogPathVariable='WixBundleLog_FirstX64.msi' RollbackLogPathVariable='WixBundleRollbackLog_FirstX64.msi' ProductCode='*' Language='1033' Version='1.0.0.0' UpgradeCode='{12E4699F-E774-4D05-8A01-5BDD41BBA127}'>" + 161 "<MsiPackage Id='FirstX64.msi' Cache='keep' CacheId='*' InstallSize='*' Size='*' PerMachine='yes' Permanent='no' Vital='yes' RollbackBoundaryBackward='WixDefaultBoundary' LogPathVariable='WixBundleLog_FirstX64.msi' RollbackLogPathVariable='WixBundleRollbackLog_FirstX64.msi' ProductCode='*' Language='1033' Version='1.0.0.0' UpgradeCode='{C00D7E9A-1276-51ED-B782-A20AB34D4070}'>" +
162 "<MsiProperty Id='ARPSYSTEMCOMPONENT' Value='1' />" + 162 "<MsiProperty Id='ARPSYSTEMCOMPONENT' Value='1' />" +
163 "<MsiProperty Id='MSIFASTINSTALL' Value='7' />" + 163 "<MsiProperty Id='MSIFASTINSTALL' Value='7' />" +
164 $"<Provides Key='{GetProductCodeFromMsiPdb(pdbPaths[1])}_v1.0.0.0' Version='1.0.0.0' DisplayName='MsiPackage' />" + 164 $"<Provides Key='{GetProductCodeFromMsiPdb(pdbPaths[1])}_v1.0.0.0' Version='1.0.0.0' DisplayName='MsiPackage' />" +
165 "<RelatedPackage Id='{12E4699F-E774-4D05-8A01-5BDD41BBA127}' MaxVersion='1.0.0.0' MaxInclusive='no' OnlyDetect='no' LangInclusive='yes'><Language Id='1033' /></RelatedPackage>" + 165 "<RelatedPackage Id='{C00D7E9A-1276-51ED-B782-A20AB34D4070}' MaxVersion='1.0.0.0' MaxInclusive='no' OnlyDetect='no' LangInclusive='yes'><Language Id='1033' /></RelatedPackage>" +
166 "<RelatedPackage Id='{12E4699F-E774-4D05-8A01-5BDD41BBA127}' MinVersion='1.0.0.0' MinInclusive='no' OnlyDetect='yes' LangInclusive='yes'><Language Id='1033' /></RelatedPackage>" + 166 "<RelatedPackage Id='{C00D7E9A-1276-51ED-B782-A20AB34D4070}' MinVersion='1.0.0.0' MinInclusive='no' OnlyDetect='yes' LangInclusive='yes'><Language Id='1033' /></RelatedPackage>" +
167 "<PayloadRef Id='FirstX64.msi' />" + 167 "<PayloadRef Id='FirstX64.msi' />" +
168 "<PayloadRef Id='fC0n41rZK8oW3JK8LzHu6AT3CjdQ' />" + 168 "<PayloadRef Id='fC0n41rZK8oW3JK8LzHu6AT3CjdQ' />" +
169 "</MsiPackage>", 169 "</MsiPackage>",
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs b/src/wix/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs
index d1025971..647f5b24 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs
@@ -2,12 +2,10 @@
2 2
3namespace WixToolsetTest.CoreIntegration 3namespace WixToolsetTest.CoreIntegration
4{ 4{
5 using System;
6 using System.IO; 5 using System.IO;
7 using System.Linq; 6 using System.Linq;
8 using Example.Extension;
9 using WixInternal.TestSupport;
10 using WixInternal.Core.TestPackage; 7 using WixInternal.Core.TestPackage;
8 using WixInternal.TestSupport;
11 using Xunit; 9 using Xunit;
12 10
13 public class MsiQueryFixture 11 public class MsiQueryFixture
@@ -929,16 +927,20 @@ namespace WixToolsetTest.CoreIntegration
929 result.AssertSuccess(); 927 result.AssertSuccess();
930 928
931 Assert.True(File.Exists(msiPath)); 929 Assert.True(File.Exists(msiPath));
932 var results = Query.QueryDatabase(msiPath, new[] { "Upgrade" }); 930 var results = Query.QueryDatabase(msiPath, new[] { "Property", "Upgrade" });
931 var upgradeRows = results.Where(r => r.StartsWith("Upgrade:")).OrderBy(s => s).ToArray();
933 WixAssert.CompareLineByLine(new[] 932 WixAssert.CompareLineByLine(new[]
934 { 933 {
935 "Upgrade:{12E4699F-E774-4D05-8A01-5BDD41BBA127}\t\t1.0.0.0\t1033\t1\t\tWIX_UPGRADE_DETECTED",
936 "Upgrade:{12E4699F-E774-4D05-8A01-5BDD41BBA127}\t1.0.0.0\t\t1033\t2\t\tWIX_DOWNGRADE_DETECTED",
937 "Upgrade:{B05772EA-82B8-4DE0-B7EB-45B5F0CCFE6D}\t1.0.0\t\t\t256\t\tRELPRODFOUND", 934 "Upgrade:{B05772EA-82B8-4DE0-B7EB-45B5F0CCFE6D}\t1.0.0\t\t\t256\t\tRELPRODFOUND",
938 }, results); 935 "Upgrade:{C00D7E9A-1276-51ED-B782-A20AB34D4070}\t\t1.0.0.0\t1033\t1\t\tWIX_UPGRADE_DETECTED",
936 "Upgrade:{C00D7E9A-1276-51ED-B782-A20AB34D4070}\t1.0.0.0\t\t1033\t2\t\tWIX_DOWNGRADE_DETECTED",
937 }, upgradeRows);
938
939 var packageId = results.Where(r => r.StartsWith("Property:PackageId\t")).Single();
940 Assert.Equal("Property:PackageId\tWixToolsetTest.TestPackage", packageId);
939 941
940 var prefix = "Property:SecureCustomProperties\t"; 942 var prefix = "Property:SecureCustomProperties\t";
941 var secureProperties = Query.QueryDatabase(msiPath, new[] { "Property" }).Where(p => p.StartsWith(prefix)).Single(); 943 var secureProperties = results.Where(p => p.StartsWith(prefix)).Single();
942 WixAssert.CompareLineByLine(new[] 944 WixAssert.CompareLineByLine(new[]
943 { 945 {
944 "RELPRODFOUND", 946 "RELPRODFOUND",
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/DuplicateCrossFragmentReference.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/DuplicateCrossFragmentReference.wxs
index 73678cb6..9fb95d3a 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/DuplicateCrossFragmentReference.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/DuplicateCrossFragmentReference.wxs
@@ -1,6 +1,6 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3 <Package Name="Duplicate Cross Fragment Reference" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a"> 3 <Package Id="WixToolsetTest.Duplicate.Cross.Fragment.Reference" Name="Duplicate Cross Fragment Reference" Version="1.0.0.0" Manufacturer="Example Corporation">
4 <DirectoryRef Id="TestFolder" /> 4 <DirectoryRef Id="TestFolder" />
5 </Package> 5 </Package>
6 6
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/DuplicatePublicOverrideVirtualSymbol.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/DuplicatePublicOverrideVirtualSymbol.wxs
index 7ecf4445..565c94f4 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/DuplicatePublicOverrideVirtualSymbol.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/DuplicatePublicOverrideVirtualSymbol.wxs
@@ -1,6 +1,6 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3 <Package Name="Duplicated Override Virtual Symbol" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a"> 3 <Package Id="WixToolsetTest.DuplicatedOverrideVirtualSymbol" Name="Duplicated Override Virtual Symbol" Version="1.0.0.0" Manufacturer="Example Corporation">
4 4
5 <StandardDirectory Id="ProgramFilesFolder"> 5 <StandardDirectory Id="ProgramFilesFolder">
6 <Directory Id="override TestFolder" Name="Override Test Folder" /> 6 <Directory Id="override TestFolder" Name="Override Test Folder" />
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/DuplicatedOverrideVirtualSymbol.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/DuplicatedOverrideVirtualSymbol.wxs
index 334b01ca..d96693f7 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/DuplicatedOverrideVirtualSymbol.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/DuplicatedOverrideVirtualSymbol.wxs
@@ -1,6 +1,6 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3 <Package Name="Duplicated Override Virtual Symbol" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a"> 3 <Package Id="WixToolsetTest.DuplicatedOverrideVirtualSymbol" Name="Duplicated Override Virtual Symbol" Version="1.0.0.0" Manufacturer="Example Corporation">
4 4
5 <StandardDirectory Id="ProgramFilesFolder"> 5 <StandardDirectory Id="ProgramFilesFolder">
6 <Directory Id="override TestFolder" Name="Override Test Folder" /> 6 <Directory Id="override TestFolder" Name="Override Test Folder" />
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/DuplicatedVirtualSymbol.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/DuplicatedVirtualSymbol.wxs
index e97d0b57..35a52a1b 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/DuplicatedVirtualSymbol.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/DuplicatedVirtualSymbol.wxs
@@ -1,6 +1,6 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3 <Package Name="Duplicated Override Virtual Symbol" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a"> 3 <Package Id="WixToolsetTest.DuplicatedOverrideVirtualSymbol" Name="Duplicated Override Virtual Symbol" Version="1.0.0.0" Manufacturer="Example Corporation">
4 4
5 <StandardDirectory Id="ProgramFilesFolder"> 5 <StandardDirectory Id="ProgramFilesFolder">
6 <Directory Id="virtual TestFolder" Name="First Virtual Test Folder" /> 6 <Directory Id="virtual TestFolder" Name="First Virtual Test Folder" />
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/HasVirtualSymbol.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/HasVirtualSymbol.wxs
index 5cdedf04..16bf27ff 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/HasVirtualSymbol.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/HasVirtualSymbol.wxs
@@ -1,6 +1,6 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3 <Package Name="Has Virtual Symbol" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a"> 3 <Package Id="WixToolsetTest.HasVirtualSymbol" Name="Has Virtual Symbol" Version="1.0.0.0" Manufacturer="Example Corporation">
4 <StandardDirectory Id="ProgramFilesFolder"> 4 <StandardDirectory Id="ProgramFilesFolder">
5 <Directory Id="virtual TestFolder" Name="Test Folder" /> 5 <Directory Id="virtual TestFolder" Name="Test Folder" />
6 </StandardDirectory> 6 </StandardDirectory>
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/InvalidCrossFragmentReference.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/InvalidCrossFragmentReference.wxs
index 5ba21fb2..b082b0cb 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/InvalidCrossFragmentReference.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/InvalidCrossFragmentReference.wxs
@@ -1,6 +1,6 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3 <Package Name="Invalid Cross Fragment Reference" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a"> 3 <Package Id="WixToolsetTest.InvalidCrossFragmentReference" Name="Invalid Cross Fragment Reference" Version="1.0.0.0" Manufacturer="Example Corporation">
4 <DirectoryRef Id="Foo" /> 4 <DirectoryRef Id="Foo" />
5 </Package> 5 </Package>
6 6
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/OverrideVirtualSymbol.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/OverrideVirtualSymbol.wxs
index 4f4cfc16..52d9c1cc 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/OverrideVirtualSymbol.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/OverrideVirtualSymbol.wxs
@@ -1,6 +1,6 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3 <Package Name="Override Virtual Symbol" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a"> 3 <Package Id="WixToolsetTest.OverrideVirtualSymbol" Name="Override Virtual Symbol" Version="1.0.0.0" Manufacturer="Example Corporation">
4 4
5 <StandardDirectory Id="ProgramFilesFolder"> 5 <StandardDirectory Id="ProgramFilesFolder">
6 <Directory Id="override TestFolder" Name="Override Test Folder" /> 6 <Directory Id="override TestFolder" Name="Override Test Folder" />
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/OverrideVirtualSymbolWithFragments.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/OverrideVirtualSymbolWithFragments.wxs
index 9afec003..9c7c638f 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/OverrideVirtualSymbolWithFragments.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/OverrideVirtualSymbolWithFragments.wxs
@@ -1,6 +1,6 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3 <Package Name="Override Virtual Symbol With Fragments" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a"> 3 <Package Id="WixToolsetTest.OverrideVirtualSymbolWithFragments" Name="Override Virtual Symbol With Fragments" Version="1.0.0.0" Manufacturer="Example Corporation">
4 <DirectoryRef Id="TestFolder" /> 4 <DirectoryRef Id="TestFolder" />
5 5
6 <PropertyRef Id="A" /> 6 <PropertyRef Id="A" />
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/OverrideWithoutVirtualSymbol.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/OverrideWithoutVirtualSymbol.wxs
index 1cb749a7..31f29fd9 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/OverrideWithoutVirtualSymbol.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/OverrideWithoutVirtualSymbol.wxs
@@ -1,6 +1,6 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3 <Package Name="Override Without Virtual Symbol" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a"> 3 <Package Id="WixToolsetTest.OverrideWithoutVirtualSymbol" Name="Override Without Virtual Symbol" Version="1.0.0.0" Manufacturer="Example Corporation">
4 <StandardDirectory Id="ProgramFilesFolder"> 4 <StandardDirectory Id="ProgramFilesFolder">
5 <Directory Id="override TestFolder" Name="Override Without Virtual Test Folder" /> 5 <Directory Id="override TestFolder" Name="Override Without Virtual Test Folder" />
6 </StandardDirectory> 6 </StandardDirectory>
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/VirtualSymbolOverridden.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/VirtualSymbolOverridden.wxs
index 98e96766..b90febc5 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/VirtualSymbolOverridden.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/VirtualSymbolOverridden.wxs
@@ -1,6 +1,6 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3 <Package Name="Virtual Symbol Overridden" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a"> 3 <Package Id="WixToolsetTest.TestPackage" Name="Virtual Symbol Overridden" Version="1.0.0.0" Manufacturer="Example Corporation">
4 <StandardDirectory Id="ProgramFilesFolder"> 4 <StandardDirectory Id="ProgramFilesFolder">
5 <Directory Id="virtual TestFolder" Name="Test Folder" /> 5 <Directory Id="virtual TestFolder" Name="Test Folder" />
6 </StandardDirectory> 6 </StandardDirectory>
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/VirtualSymbolThatDoesNotGetOverridden.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/VirtualSymbolThatDoesNotGetOverridden.wxs
index 123b856d..dd45b873 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/VirtualSymbolThatDoesNotGetOverridden.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/VirtualSymbolThatDoesNotGetOverridden.wxs
@@ -1,6 +1,6 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3 <Package Name="Override Without Virtual Symbol" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a"> 3 <Package Id="WixToolsetTest.TestPackage" Name="Override Without Virtual Symbol" Version="1.0.0.0" Manufacturer="Example Corporation">
4 <PropertyRef Id="DoesGetReferenced" /> 4 <PropertyRef Id="DoesGetReferenced" />
5 </Package> 5 </Package>
6 6
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/VirtualSymbolWithoutOverride.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/VirtualSymbolWithoutOverride.wxs
index 3db854f5..16da75d2 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/VirtualSymbolWithoutOverride.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AccessModifier/VirtualSymbolWithoutOverride.wxs
@@ -1,6 +1,6 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3 <Package Name="Override Without Virtual Symbol" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a"> 3 <Package Id="WixToolsetTest.TestPackage" Name="Override Without Virtual Symbol" Version="1.0.0.0" Manufacturer="Example Corporation">
4 <StandardDirectory Id="ProgramFilesFolder"> 4 <StandardDirectory Id="ProgramFilesFolder">
5 <Directory Id="virtual TestFolder" Name="Test Folder" /> 5 <Directory Id="virtual TestFolder" Name="Test Folder" />
6 </StandardDirectory> 6 </StandardDirectory>
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AllUsers/PerMachine.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AllUsers/PerMachine.wxs
index ee243815..71ead52a 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AllUsers/PerMachine.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AllUsers/PerMachine.wxs
@@ -1,8 +1,8 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Version="1" 2 <Package Id="WixToolsetTest.TestPackage"
3 Version="1"
3 Name="MsiPackage" 4 Name="MsiPackage"
4 Manufacturer="Example Corporation" 5 Manufacturer="Example Corporation"
5 UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a"
6 Scope="perMachine"> 6 Scope="perMachine">
7 <MajorUpgrade DowngradeErrorMessage="Downgrade not allowed" /> 7 <MajorUpgrade DowngradeErrorMessage="Downgrade not allowed" />
8 8
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AllUsers/PerUser.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AllUsers/PerUser.wxs
index cc8f7bcd..4657e819 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AllUsers/PerUser.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AllUsers/PerUser.wxs
@@ -1,8 +1,8 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Version="1" 2 <Package Id="WixToolsetTest.TestPackage"
3 Version="1"
3 Name="MsiPackage" 4 Name="MsiPackage"
4 Manufacturer="Example Corporation" 5 Manufacturer="Example Corporation"
5 UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a"
6 Scope="perUser"> 6 Scope="perUser">
7 <MajorUpgrade DowngradeErrorMessage="Downgrade not allowed" /> 7 <MajorUpgrade DowngradeErrorMessage="Downgrade not allowed" />
8 8
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AllUsers/PerUserOrMachine.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AllUsers/PerUserOrMachine.wxs
index 19c2cb6e..bf2e9d44 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AllUsers/PerUserOrMachine.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AllUsers/PerUserOrMachine.wxs
@@ -1,8 +1,8 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Version="1" 2 <Package Id="WixToolsetTest.TestPackage"
3 Version="1"
3 Name="MsiPackage" 4 Name="MsiPackage"
4 Manufacturer="Example Corporation" 5 Manufacturer="Example Corporation"
5 UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a"
6 Scope="perUserOrMachine"> 6 Scope="perUserOrMachine">
7 <MajorUpgrade DowngradeErrorMessage="Downgrade not allowed" /> 7 <MajorUpgrade DowngradeErrorMessage="Downgrade not allowed" />
8 8
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AppId/TopLevelAppId.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AppId/TopLevelAppId.wxs
index 25c0f176..ae2c1501 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AppId/TopLevelAppId.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/AppId/TopLevelAppId.wxs
@@ -1,5 +1,5 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Name="~AppId Top-Level" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="12E4699F-E774-4D05-8A01-5BDD41BBA127" Compressed="no"> 2 <Package Id="WixToolsetTest.TestPackage" Name="~AppId Top-Level" Version="1.0.0.0" Manufacturer="Example Corporation" Compressed="no">
3 <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." /> 3 <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
4 4
5 <AppId Id="D6040299-B15C-4C94-AE26-0C9B60D14C35" /> 5 <AppId Id="D6040299-B15C-4C94-AE26-0C9B60D14C35" />
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Assembly/Package.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Assembly/Package.wxs
index c345305d..77d8515f 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Assembly/Package.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Assembly/Package.wxs
@@ -1,5 +1,5 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Name="AssemblyMsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="no" InstallerVersion="200" Scope="perMachine"> 2 <Package Id="WixToolsetTest.TestPackage" Name="AssemblyMsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" Compressed="no" InstallerVersion="200" Scope="perMachine">
3 3
4 4
5 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" /> 5 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Assembly1x/Package.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Assembly1x/Package.wxs
index c345305d..77d8515f 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Assembly1x/Package.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Assembly1x/Package.wxs
@@ -1,5 +1,5 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Name="AssemblyMsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="no" InstallerVersion="200" Scope="perMachine"> 2 <Package Id="WixToolsetTest.TestPackage" Name="AssemblyMsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" Compressed="no" InstallerVersion="200" Scope="perMachine">
3 3
4 4
5 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" /> 5 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BadIf/Package.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BadIf/Package.wxs
index 1d7ebb94..48bc4841 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BadIf/Package.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BadIf/Package.wxs
@@ -1,5 +1,5 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Name="MsiPackage" Language="1033" Version="1.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="no" InstallerVersion="200" Scope="perMachine"> 2 <Package Id="WixToolsetTest.TestPackage" Name="MsiPackage" Language="1033" Version="1.0" Manufacturer="Example Corporation" Compressed="no" InstallerVersion="200" Scope="perMachine">
3 3
4 4
5 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" /> 5 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BindVariables/PackageWithBindVariables.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BindVariables/PackageWithBindVariables.wxs
index 2a0c374f..291423ee 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BindVariables/PackageWithBindVariables.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BindVariables/PackageWithBindVariables.wxs
@@ -1,5 +1,5 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Name="PacakgeWithBindVariables" Version="!(bind.fileversion.TestBinaryFile)" Manufacturer="Example Corporation" UpgradeCode="41a2c17e-1976-465b-bcde-eae03516ca68"> 2 <Package Id="WixToolsetTest.TestPackage" Name="PacakgeWithBindVariables" Version="!(bind.fileversion.TestBinaryFile)" Manufacturer="Example Corporation">
3 3
4 <Property Id="TestPackageManufacturer" Value="!(bind.Property.Manufacturer)" /> 4 <Property Id="TestPackageManufacturer" Value="!(bind.Property.Manufacturer)" />
5 <Property Id="TestPackageName" Value="!(bind.Property.ProductName)" /> 5 <Property Id="TestPackageName" Value="!(bind.Property.ProductName)" />
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BundleAllUsers/AllUsersPackage.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BundleAllUsers/AllUsersPackage.wxs
index 63046563..1fd61a57 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BundleAllUsers/AllUsersPackage.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/BundleAllUsers/AllUsersPackage.wxs
@@ -1,5 +1,5 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package ProductCode="33333333-3333-3333-3333-333333333333" Name="All Users Package" Version="1.0" Manufacturer="Example Corporation" UpgradeCode="4BE34BEE-CA23-488E-96A0-B15878E3654B" Compressed="no" Scope="perUserOrMachine"> 2 <Package Id="WixToolsetTest.TestPackage" ProductCode="33333333-3333-3333-3333-333333333333" Name="All Users Package" Version="1.0" Manufacturer="Example Corporation" Compressed="no" Scope="perUserOrMachine">
3 3
4 <StandardDirectory Id="ProgramFilesFolder"> 4 <StandardDirectory Id="ProgramFilesFolder">
5 <Directory Id="INSTALLFOLDER" Name="Example" /> 5 <Directory Id="INSTALLFOLDER" Name="Example" />
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Comments/PackageCustom.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Comments/PackageCustom.wxs
index 384e3545..893e6c29 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Comments/PackageCustom.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Comments/PackageCustom.wxs
@@ -1,8 +1,8 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Version="1" 2 <Package Id="WixToolsetTest.TestPackage"
3 Version="1"
3 Name="MsiPackage" 4 Name="MsiPackage"
4 Manufacturer="Example Corporation" 5 Manufacturer="Example Corporation">
5 UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
6 <MajorUpgrade DowngradeErrorMessage="Downgrade not allowed" /> 6 <MajorUpgrade DowngradeErrorMessage="Downgrade not allowed" />
7 <SummaryInformation Comments="Example comments" /> 7 <SummaryInformation Comments="Example comments" />
8 </Package> 8 </Package>
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Comments/PackageDefault.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Comments/PackageDefault.wxs
index 655a17e0..1390e95c 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Comments/PackageDefault.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Comments/PackageDefault.wxs
@@ -1,8 +1,8 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Version="1" 2 <Package Id="WixToolsetTest.TestPackage"
3 Version="1"
3 Name="MsiPackage" 4 Name="MsiPackage"
4 Manufacturer="Example Corporation" 5 Manufacturer="Example Corporation">
5 UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
6 <MajorUpgrade DowngradeErrorMessage="Downgrade not allowed" /> 6 <MajorUpgrade DowngradeErrorMessage="Downgrade not allowed" />
7 <SummaryInformation /> 7 <SummaryInformation />
8 </Package> 8 </Package>
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/ComplexExampleExtension/Package.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/ComplexExampleExtension/Package.wxs
index db07af2c..c01bb82b 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/ComplexExampleExtension/Package.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/ComplexExampleExtension/Package.wxs
@@ -1,5 +1,5 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="no" InstallerVersion="200" Scope="perMachine"> 2 <Package Id="WixToolsetTest.TestPackage" Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" Compressed="no" InstallerVersion="200" Scope="perMachine">
3 3
4 4
5 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" /> 5 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Components/Package.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Components/Package.wxs
index d7b5bdc0..d0bb5436 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Components/Package.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Components/Package.wxs
@@ -1,5 +1,5 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Name="MsiPackage" Codepage="1252" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="no" InstallerVersion="200" Scope="perMachine"> 2 <Package Id="WixToolsetTest.TestPackage" Name="MsiPackage" Codepage="1252" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" Compressed="no" InstallerVersion="200" Scope="perMachine">
3 3
4 4
5 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" /> 5 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/CustomTable/CustomTable-Expected.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/CustomTable/CustomTable-Expected.wxs
index fdcc3438..f377a06e 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/CustomTable/CustomTable-Expected.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/CustomTable/CustomTable-Expected.wxs
@@ -1,5 +1,5 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Codepage="1252" Language="1033" Manufacturer="Example Corporation" Name="MsiPackage" UpgradeCode="{12E4699F-E774-4D05-8A01-5BDD41BBA127}" Version="1.0.0.0" ProductCode="{83F9C623-26FE-42AB-951E-170022117F54}" Compressed="no"> 2 <Package Codepage="1252" Id="WixToolsetTest.TestPackage" Language="1033" Manufacturer="Example Corporation" Name="MsiPackage" UpgradeCode="{C00D7E9A-1276-51ED-B782-A20AB34D4070}" Version="1.0.0.0" ProductCode="{83F9C623-26FE-42AB-951E-170022117F54}" Compressed="no">
3 <CustomTable Id="CustomTable1"> 3 <CustomTable Id="CustomTable1">
4 <Column Id="Column1" PrimaryKey="yes" Type="string" Width="0" Category="text" Description="The first custom column." /> 4 <Column Id="Column1" PrimaryKey="yes" Type="string" Width="0" Category="text" Description="The first custom column." />
5 <Column Id="Component_" Type="string" Width="72" KeyTable="Component" KeyColumn="1" Description="The custom table's Component reference" /> 5 <Column Id="Component_" Type="string" Width="72" KeyTable="Component" KeyColumn="1" Description="The custom table's Component reference" />
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/DefaultMajorUpgrade/DefaultMajorUpgrade.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/DefaultMajorUpgrade/DefaultMajorUpgrade.wxs
index 95ebcd94..098d809e 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/DefaultMajorUpgrade/DefaultMajorUpgrade.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/DefaultMajorUpgrade/DefaultMajorUpgrade.wxs
@@ -1,5 +1,5 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Name="MajorUpgradeDowngradeMessage" Language="1033" Version="2.0.0" Manufacturer="Example Corporation" UpgradeCode="7ab24276-c628-43db-9e65-a184d052909b" Scope="perMachine"> 2 <Package Id="WixToolsetTest.TestPackage" Name="MajorUpgradeDowngradeMessage" Language="1033" Version="2.0.0" Manufacturer="Example Corporation" Scope="perMachine">
3 3
4 <Property Id="PRODUCT"> 4 <Property Id="PRODUCT">
5 <ProductSearch UpgradeCode="{46649344-6CDF-4531-B91C-DCC088CBF6D3}" Minimum="1.0" /> 5 <ProductSearch UpgradeCode="{46649344-6CDF-4531-B91C-DCC088CBF6D3}" Minimum="1.0" />
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/DefaultMajorUpgradeNone/DefaultMajorUpgradeNone.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/DefaultMajorUpgradeNone/DefaultMajorUpgradeNone.wxs
index 63ff178b..63fea0f4 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/DefaultMajorUpgradeNone/DefaultMajorUpgradeNone.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/DefaultMajorUpgradeNone/DefaultMajorUpgradeNone.wxs
@@ -1,5 +1,5 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Name="MajorUpgradeDowngradeMessage" UpgradeStrategy="none" Language="1033" Version="2.0.0" Manufacturer="Example Corporation" UpgradeCode="7ab24276-c628-43db-9e65-a184d052909b" Scope="perMachine"> 2 <Package Id="WixToolsetTest.TestPackage" Name="MajorUpgradeDowngradeMessage" UpgradeStrategy="none" Language="1033" Version="2.0.0" Manufacturer="Example Corporation" Scope="perMachine">
3 <Feature Id="ProductFeature" Title="MsiPackageTitle"> 3 <Feature Id="ProductFeature" Title="MsiPackageTitle">
4 </Feature> 4 </Feature>
5 </Package> 5 </Package>
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/DefaultMajorUpgradeOverride/DefaultMajorUpgrade.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/DefaultMajorUpgradeOverride/DefaultMajorUpgrade.wxs
index ce9fd96f..5415dfcb 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/DefaultMajorUpgradeOverride/DefaultMajorUpgrade.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/DefaultMajorUpgradeOverride/DefaultMajorUpgrade.wxs
@@ -1,5 +1,5 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Name="MajorUpgradeDowngradeMessage" Language="1033" Version="2.0.0" Manufacturer="Example Corporation" UpgradeCode="7ab24276-c628-43db-9e65-a184d052909b" Scope="perMachine"> 2 <Package Id="WixToolsetTest.TestPackage" Name="MajorUpgradeDowngradeMessage" Language="1033" Version="2.0.0" Manufacturer="Example Corporation" Scope="perMachine">
3 <Feature Id="ProductFeature" Title="MsiPackageTitle"> 3 <Feature Id="ProductFeature" Title="MsiPackageTitle">
4 </Feature> 4 </Feature>
5 </Package> 5 </Package>
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/DefaultMajorUpgradeReschedule/DefaultMajorUpgradeReschedule.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/DefaultMajorUpgradeReschedule/DefaultMajorUpgradeReschedule.wxs
index 3269106b..c7b9cc3c 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/DefaultMajorUpgradeReschedule/DefaultMajorUpgradeReschedule.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/DefaultMajorUpgradeReschedule/DefaultMajorUpgradeReschedule.wxs
@@ -1,5 +1,5 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Name="DefaultMajorUpgradeReschedule" Language="1033" Version="2.0.0" Manufacturer="Example Corporation" UpgradeCode="{3F2494B1-AF5E-48ED-9C9E-843F1DB2BC97}"> 2 <Package Id="WixToolsetTest.TestPackage" Name="DefaultMajorUpgradeReschedule" Language="1033" Version="2.0.0" Manufacturer="Example Corporation">
3 <InstallExecuteSequence> 3 <InstallExecuteSequence>
4 <RemoveExistingProducts After="InstallFinalize" /> 4 <RemoveExistingProducts After="InstallFinalize" />
5 </InstallExecuteSequence> 5 </InstallExecuteSequence>
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Directory/RedundantSubdirectoryInSecondSection.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Directory/RedundantSubdirectoryInSecondSection.wxs
index fc73ee47..67d913a7 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Directory/RedundantSubdirectoryInSecondSection.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Directory/RedundantSubdirectoryInSecondSection.wxs
@@ -1,5 +1,5 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Name="~RedundantSubdirectories" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="12E4699F-E774-4D05-8A01-5BDD41BBA127" Compressed="no"> 2 <Package Id="WixToolsetTest.TestPackage" Name="~RedundantSubdirectories" Version="1.0.0.0" Manufacturer="Example Corporation" Compressed="no">
3 <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." /> 3 <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
4 4
5 <Feature Id="ProductFeature"> 5 <Feature Id="ProductFeature">
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Encoding/Encoding.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Encoding/Encoding.wxs
index 94ca33b3..100fe4b8 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Encoding/Encoding.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/Encoding/Encoding.wxs
@@ -1,5 +1,5 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Name="Ć Not In 1252 Codepage" Version="3.0.0" Codepage="1252" Manufacturer="Example Company" Language="1033" UpgradeCode="11111111-1111-1111-1111-111111111111"> 2 <Package Id="WixToolsetTest.TestPackage" Name="Ć Not In 1252 Codepage" Version="3.0.0" Codepage="1252" Manufacturer="Example Company" Language="1033">
3 <StandardDirectory Id="ProgramFiles6432Folder"> 3 <StandardDirectory Id="ProgramFiles6432Folder">
4 <Directory Id="INSTALLFOLDER" Name="test"> 4 <Directory Id="INSTALLFOLDER" Name="test">
5 </Directory> 5 </Directory>
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/ProductWithComponentGroupRef/Product.wxs b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/ProductWithComponentGroupRef/Product.wxs
index 433be7f0..a7dd7f1b 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/TestData/ProductWithComponentGroupRef/Product.wxs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/TestData/ProductWithComponentGroupRef/Product.wxs
@@ -2,7 +2,7 @@
2 <?ifndef ProductCode?> 2 <?ifndef ProductCode?>
3 <?define ProductCode = *?> 3 <?define ProductCode = *?>
4 <?endif?> 4 <?endif?>
5 <Package Name="MsiPackage" Codepage="1252" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="12E4699F-E774-4D05-8A01-5BDD41BBA127" Compressed="no" Scope="perMachine" ProductCode="$(var.ProductCode)"> 5 <Package Id="WixToolsetTest.TestPackage" Name="MsiPackage" Codepage="1252" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" Compressed="no" Scope="perMachine" ProductCode="$(var.ProductCode)">
6 6
7 <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." /> 7 <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
8 8
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/UpgradeFixture.cs b/src/wix/test/WixToolsetTest.CoreIntegration/UpgradeFixture.cs
index 49c83c07..e17b9b95 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/UpgradeFixture.cs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/UpgradeFixture.cs
@@ -69,8 +69,8 @@ namespace WixToolsetTest.CoreIntegration
69 { 69 {
70 "LaunchCondition:NOT WIX_DOWNGRADE_DETECTED\tA newer version of [ProductName] is already installed.", 70 "LaunchCondition:NOT WIX_DOWNGRADE_DETECTED\tA newer version of [ProductName] is already installed.",
71 "Upgrade:{46649344-6CDF-4531-B91C-DCC088CBF6D3}\t1.0\t\t\t258\t\tPRODUCT", 71 "Upgrade:{46649344-6CDF-4531-B91C-DCC088CBF6D3}\t1.0\t\t\t258\t\tPRODUCT",
72 "Upgrade:{7AB24276-C628-43DB-9E65-A184D052909B}\t\t2.0.0\t1033\t1\t\tWIX_UPGRADE_DETECTED", 72 "Upgrade:{C00D7E9A-1276-51ED-B782-A20AB34D4070}\t\t2.0.0\t1033\t1\t\tWIX_UPGRADE_DETECTED",
73 "Upgrade:{7AB24276-C628-43DB-9E65-A184D052909B}\t2.0.0\t\t1033\t2\t\tWIX_DOWNGRADE_DETECTED", 73 "Upgrade:{C00D7E9A-1276-51ED-B782-A20AB34D4070}\t2.0.0\t\t1033\t2\t\tWIX_DOWNGRADE_DETECTED",
74 }, results); 74 }, results);
75 } 75 }
76 76
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/MsiPackage/Package.wxs b/src/wix/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/MsiPackage/Package.wxs
index 30be1ace..2f1e7b9c 100644
--- a/src/wix/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/MsiPackage/Package.wxs
+++ b/src/wix/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/MsiPackage/Package.wxs
@@ -2,7 +2,7 @@
2<?define Variable = "DifferentValue" ?> 2<?define Variable = "DifferentValue" ?>
3 3
4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 4<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
5 <Package Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="yes" InstallerVersion="200"> 5 <Package Id="WixToolsetTest.TestPackage" Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" Compressed="yes" InstallerVersion="200">
6 6
7 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" /> 7 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
8 8
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/SingleCultureWithFallbackMsiPackage/Package.wxs b/src/wix/test/WixToolsetTest.Sdk/TestData/SingleCultureWithFallbackMsiPackage/Package.wxs
index df24aa33..577fbd56 100644
--- a/src/wix/test/WixToolsetTest.Sdk/TestData/SingleCultureWithFallbackMsiPackage/Package.wxs
+++ b/src/wix/test/WixToolsetTest.Sdk/TestData/SingleCultureWithFallbackMsiPackage/Package.wxs
@@ -1,5 +1,5 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="yes" InstallerVersion="200"> 2 <Package Id="WixToolsetTest.TestPackage" Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" Compressed="yes" InstallerVersion="200">
3 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" /> 3 <MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
4 <MediaTemplate /> 4 <MediaTemplate />
5 5
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/PackageIncludesWixlib/Package.wxs b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/PackageIncludesWixlib/Package.wxs
index fe8298bd..e4310849 100644
--- a/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/PackageIncludesWixlib/Package.wxs
+++ b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/PackageIncludesWixlib/Package.wxs
@@ -1,5 +1,5 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="yes" InstallerVersion="200"> 2 <Package Id="WixToolsetTest.TestPackage" Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" Compressed="yes" InstallerVersion="200">
3 <MediaTemplate /> 3 <MediaTemplate />
4 4
5 <Feature Id="ProductFeature" Title="ATitle"> 5 <Feature Id="ProductFeature" Title="ATitle">