aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2021-02-11 13:46:45 -0800
committerRob Mensching <rob@firegiant.com>2021-02-11 13:52:29 -0800
commitc6e2213e818b869c44c1af7355fc06f45ebf1a1f (patch)
treedb01cac18404c9be74c95183956b1ceb517ef5c8
parent0fcb0cb1d0a2f741f83feb76bc276926f499686d (diff)
downloadwix-c6e2213e818b869c44c1af7355fc06f45ebf1a1f.tar.gz
wix-c6e2213e818b869c44c1af7355fc06f45ebf1a1f.tar.bz2
wix-c6e2213e818b869c44c1af7355fc06f45ebf1a1f.zip
Replace Win64 attribute with Bitness attribute
Closes wixtoolset/#4707
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Decompile/Decompiler.cs12
-rw-r--r--src/WixToolset.Core/CompileContext.cs2
-rw-r--r--src/WixToolset.Core/Compiler.cs105
-rw-r--r--src/WixToolset.Core/Compiler_Bundle.cs25
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/ApprovedExeFixture.cs64
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs34
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/TestData/AppSearch/DecompiledNestedDirSearchUnderRegSearch.wxs12
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/TestData/AppSearch/RegistrySearch64.wxs12
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/TestData/BundleWithApprovedExe/Bundle.wxs5
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/TestData/BundleWithApprovedExe/Bundle64.wxs5
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/TestData/Class/DecompiledOldClassTableDef.wxs4
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/TestData/CustomTable/CustomTable-Expected.wxs4
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/TestData/DecompileNullComponent/Expected.wxs4
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/TestData/DecompileSingleFileCompressed/Expected.wxs4
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/TestData/DecompileSingleFileCompressed64/Expected.wxs4
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/TestData/SequenceTables/DecompiledSequenceTables.wxs4
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/TestData/Shortcut/DecompiledShortcuts.wxs4
17 files changed, 228 insertions, 76 deletions
diff --git a/src/WixToolset.Core.WindowsInstaller/Decompile/Decompiler.cs b/src/WixToolset.Core.WindowsInstaller/Decompile/Decompiler.cs
index 29e15c91..c62e8153 100644
--- a/src/WixToolset.Core.WindowsInstaller/Decompile/Decompiler.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Decompile/Decompiler.cs
@@ -3950,12 +3950,12 @@ namespace WixToolset.Core.WindowsInstaller
3950 3950
3951 if (WindowsInstallerConstants.MsidbCustomActionType64BitScript == (type & WindowsInstallerConstants.MsidbCustomActionType64BitScript)) 3951 if (WindowsInstallerConstants.MsidbCustomActionType64BitScript == (type & WindowsInstallerConstants.MsidbCustomActionType64BitScript))
3952 { 3952 {
3953 xCustomAction.SetAttributeValue("Win64", "yes"); 3953 xCustomAction.SetAttributeValue("Bitness", "always64");
3954 } 3954 }
3955 else if (WindowsInstallerConstants.MsidbCustomActionTypeVBScript == (type & WindowsInstallerConstants.MsidbCustomActionTypeVBScript) || 3955 else if (WindowsInstallerConstants.MsidbCustomActionTypeVBScript == (type & WindowsInstallerConstants.MsidbCustomActionTypeVBScript) ||
3956 WindowsInstallerConstants.MsidbCustomActionTypeJScript == (type & WindowsInstallerConstants.MsidbCustomActionTypeJScript)) 3956 WindowsInstallerConstants.MsidbCustomActionTypeJScript == (type & WindowsInstallerConstants.MsidbCustomActionTypeJScript))
3957 { 3957 {
3958 xCustomAction.SetAttributeValue("Win64", "no"); 3958 xCustomAction.SetAttributeValue("Bitness", "always32");
3959 } 3959 }
3960 3960
3961 switch (type & WindowsInstallerConstants.MsidbCustomActionTypeExecuteBits) 3961 switch (type & WindowsInstallerConstants.MsidbCustomActionTypeExecuteBits)
@@ -4191,11 +4191,11 @@ namespace WixToolset.Core.WindowsInstaller
4191 4191
4192 if (WindowsInstallerConstants.MsidbComponentAttributes64bit == (attributes & WindowsInstallerConstants.MsidbComponentAttributes64bit)) 4192 if (WindowsInstallerConstants.MsidbComponentAttributes64bit == (attributes & WindowsInstallerConstants.MsidbComponentAttributes64bit))
4193 { 4193 {
4194 xComponent.SetAttributeValue("Win64", "yes"); 4194 xComponent.SetAttributeValue("Bitness", "always64");
4195 } 4195 }
4196 else 4196 else
4197 { 4197 {
4198 xComponent.SetAttributeValue("Win64", "no"); 4198 xComponent.SetAttributeValue("Bitness", "always32");
4199 } 4199 }
4200 4200
4201 if (WindowsInstallerConstants.MsidbComponentAttributesDisableRegistryReflection == (attributes & WindowsInstallerConstants.MsidbComponentAttributesDisableRegistryReflection)) 4201 if (WindowsInstallerConstants.MsidbComponentAttributesDisableRegistryReflection == (attributes & WindowsInstallerConstants.MsidbComponentAttributesDisableRegistryReflection))
@@ -6479,12 +6479,12 @@ namespace WixToolset.Core.WindowsInstaller
6479 6479
6480 if (WindowsInstallerConstants.MsidbLocatorType64bit == (type & WindowsInstallerConstants.MsidbLocatorType64bit)) 6480 if (WindowsInstallerConstants.MsidbLocatorType64bit == (type & WindowsInstallerConstants.MsidbLocatorType64bit))
6481 { 6481 {
6482 xRegistrySearch.SetAttributeValue("Win64", "yes"); 6482 xRegistrySearch.SetAttributeValue("Bitness", "always64");
6483 type &= ~WindowsInstallerConstants.MsidbLocatorType64bit; 6483 type &= ~WindowsInstallerConstants.MsidbLocatorType64bit;
6484 } 6484 }
6485 else 6485 else
6486 { 6486 {
6487 xRegistrySearch.SetAttributeValue("Win64", "no"); 6487 xRegistrySearch.SetAttributeValue("Bitness", "always32");
6488 } 6488 }
6489 6489
6490 switch (type) 6490 switch (type)
diff --git a/src/WixToolset.Core/CompileContext.cs b/src/WixToolset.Core/CompileContext.cs
index 44da6c8a..e781b692 100644
--- a/src/WixToolset.Core/CompileContext.cs
+++ b/src/WixToolset.Core/CompileContext.cs
@@ -25,6 +25,8 @@ namespace WixToolset.Core
25 25
26 public Platform Platform { get; set; } 26 public Platform Platform { get; set; }
27 27
28 public bool IsCurrentPlatform64Bit => this.Platform == Platform.ARM64 || this.Platform == Platform.X64;
29
28 public XDocument Source { get; set; } 30 public XDocument Source { get; set; }
29 31
30 public CancellationToken CancellationToken { get; set; } 32 public CancellationToken CancellationToken { get; set; }
diff --git a/src/WixToolset.Core/Compiler.cs b/src/WixToolset.Core/Compiler.cs
index 5267a232..85261cce 100644
--- a/src/WixToolset.Core/Compiler.cs
+++ b/src/WixToolset.Core/Compiler.cs
@@ -59,13 +59,9 @@ namespace WixToolset.Core
59 59
60 internal Compiler(IWixToolsetServiceProvider serviceProvider) 60 internal Compiler(IWixToolsetServiceProvider serviceProvider)
61 { 61 {
62 this.ServiceProvider = serviceProvider;
63
64 this.Messaging = serviceProvider.GetService<IMessaging>(); 62 this.Messaging = serviceProvider.GetService<IMessaging>();
65 } 63 }
66 64
67 private IWixToolsetServiceProvider ServiceProvider { get; }
68
69 public IMessaging Messaging { get; } 65 public IMessaging Messaging { get; }
70 66
71 private ICompileContext Context { get; set; } 67 private ICompileContext Context { get; set; }
@@ -79,12 +75,6 @@ namespace WixToolset.Core
79 public Platform CurrentPlatform => this.Context.Platform; 75 public Platform CurrentPlatform => this.Context.Platform;
80 76
81 /// <summary> 77 /// <summary>
82 /// Gets or sets the platform which the compiler will use when defaulting 64-bit attributes and elements.
83 /// </summary>
84 /// <value>The platform which the compiler will use when defaulting 64-bit attributes and elements.</value>
85 public bool IsCurrentPlatform64Bit => this.Context.Platform == Platform.ARM64 || this.Context.Platform == Platform.X64;
86
87 /// <summary>
88 /// Gets or sets the option to show pedantic messages. 78 /// Gets or sets the option to show pedantic messages.
89 /// </summary> 79 /// </summary>
90 /// <value>The option to show pedantic messages.</value> 80 /// <value>The option to show pedantic messages.</value>
@@ -1724,14 +1714,12 @@ namespace WixToolset.Core
1724 private string ParseRegistrySearchElement(XElement node) 1714 private string ParseRegistrySearchElement(XElement node)
1725 { 1715 {
1726 var sourceLineNumbers = Preprocessor.GetSourceLineNumbers(node); 1716 var sourceLineNumbers = Preprocessor.GetSourceLineNumbers(node);
1727 var explicitWin64 = false;
1728 Identifier id = null; 1717 Identifier id = null;
1729 string key = null; 1718 string key = null;
1730 string name = null; 1719 string name = null;
1731 string signature = null;
1732 RegistryRootType? root = null; 1720 RegistryRootType? root = null;
1733 RegLocatorType? type = null; 1721 RegLocatorType? type = null;
1734 var search64bit = false; 1722 var search64bit = this.Context.IsCurrentPlatform64Bit;
1735 1723
1736 foreach (var attrib in node.Attributes()) 1724 foreach (var attrib in node.Attributes())
1737 { 1725 {
@@ -1742,6 +1730,24 @@ namespace WixToolset.Core
1742 case "Id": 1730 case "Id":
1743 id = this.Core.GetAttributeIdentifier(sourceLineNumbers, attrib); 1731 id = this.Core.GetAttributeIdentifier(sourceLineNumbers, attrib);
1744 break; 1732 break;
1733 case "Bitness":
1734 var bitnessValue = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
1735 switch (bitnessValue)
1736 {
1737 case "always32":
1738 search64bit = false;
1739 break;
1740 case "always64":
1741 search64bit = true;
1742 break;
1743 case "default":
1744 case "":
1745 break;
1746 default:
1747 this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, bitnessValue, "default", "always32", "always64"));
1748 break;
1749 }
1750 break;
1745 case "Key": 1751 case "Key":
1746 key = this.Core.GetAttributeValue(sourceLineNumbers, attrib); 1752 key = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
1747 break; 1753 break;
@@ -1771,10 +1777,6 @@ namespace WixToolset.Core
1771 break; 1777 break;
1772 } 1778 }
1773 break; 1779 break;
1774 case "Win64":
1775 explicitWin64 = true;
1776 search64bit = YesNoType.Yes == this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
1777 break;
1778 default: 1780 default:
1779 this.Core.UnexpectedAttribute(node, attrib); 1781 this.Core.UnexpectedAttribute(node, attrib);
1780 break; 1782 break;
@@ -1786,11 +1788,6 @@ namespace WixToolset.Core
1786 } 1788 }
1787 } 1789 }
1788 1790
1789 if (!explicitWin64 && this.IsCurrentPlatform64Bit)
1790 {
1791 search64bit = true;
1792 }
1793
1794 if (null == id) 1791 if (null == id)
1795 { 1792 {
1796 id = this.Core.CreateIdentifier("reg", root.ToString(), key, name, type.ToString(), search64bit.ToString()); 1793 id = this.Core.CreateIdentifier("reg", root.ToString(), key, name, type.ToString(), search64bit.ToString());
@@ -1811,7 +1808,7 @@ namespace WixToolset.Core
1811 this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Type")); 1808 this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Type"));
1812 } 1809 }
1813 1810
1814 signature = id.Id; 1811 var signature = id.Id;
1815 var oneChild = false; 1812 var oneChild = false;
1816 foreach (var child in node.Elements()) 1813 foreach (var child in node.Elements())
1817 { 1814 {
@@ -2125,8 +2122,7 @@ namespace WixToolset.Core
2125 var sharedDllRefCount = false; 2122 var sharedDllRefCount = false;
2126 var transitive = false; 2123 var transitive = false;
2127 var uninstallWhenSuperseded = false; 2124 var uninstallWhenSuperseded = false;
2128 var explicitWin64 = false; 2125 var win64 = this.Context.IsCurrentPlatform64Bit;
2129 var win64 = false;
2130 2126
2131 var multiInstance = false; 2127 var multiInstance = false;
2132 var symbols = new List<string>(); 2128 var symbols = new List<string>();
@@ -2141,6 +2137,24 @@ namespace WixToolset.Core
2141 case "Id": 2137 case "Id":
2142 id = this.Core.GetAttributeIdentifier(sourceLineNumbers, attrib); 2138 id = this.Core.GetAttributeIdentifier(sourceLineNumbers, attrib);
2143 break; 2139 break;
2140 case "Bitness":
2141 var bitnessValue = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
2142 switch (bitnessValue)
2143 {
2144 case "always32":
2145 win64 = false;
2146 break;
2147 case "always64":
2148 win64 = true;
2149 break;
2150 case "default":
2151 case "":
2152 break;
2153 default:
2154 this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, bitnessValue, "default", "always32", "always64"));
2155 break;
2156 }
2157 break;
2144 case "ComPlusFlags": 2158 case "ComPlusFlags":
2145 comPlusBits = this.Core.GetAttributeIntegerValue(sourceLineNumbers, attrib, 0, Int16.MaxValue); 2159 comPlusBits = this.Core.GetAttributeIntegerValue(sourceLineNumbers, attrib, 0, Int16.MaxValue);
2146 break; 2160 break;
@@ -2240,15 +2254,6 @@ namespace WixToolset.Core
2240 // bits |= MsiInterop.MsidbComponentAttributesUninstallOnSupersedence; 2254 // bits |= MsiInterop.MsidbComponentAttributesUninstallOnSupersedence;
2241 //} 2255 //}
2242 break; 2256 break;
2243 case "Win64":
2244 explicitWin64 = true;
2245 win64 = YesNoType.Yes == this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
2246 //if (YesNoType.Yes == this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib))
2247 //{
2248 // bits |= MsiInterop.MsidbComponentAttributes64bit;
2249 // win64 = true;
2250 //}
2251 break;
2252 default: 2257 default:
2253 this.Core.UnexpectedAttribute(node, attrib); 2258 this.Core.UnexpectedAttribute(node, attrib);
2254 break; 2259 break;
@@ -2260,12 +2265,6 @@ namespace WixToolset.Core
2260 } 2265 }
2261 } 2266 }
2262 2267
2263 if (!explicitWin64 && this.IsCurrentPlatform64Bit)
2264 {
2265 //bits |= MsiInterop.MsidbComponentAttributes64bit;
2266 win64 = true;
2267 }
2268
2269 if (id == null) 2268 if (id == null)
2270 { 2269 {
2271 // Placeholder id for defaulting Component/@Id to keypath id. 2270 // Placeholder id for defaulting Component/@Id to keypath id.
@@ -3157,6 +3156,26 @@ namespace WixToolset.Core
3157 sourceType = CustomActionSourceType.Binary; 3156 sourceType = CustomActionSourceType.Binary;
3158 this.Core.CreateSimpleReference(sourceLineNumbers, SymbolDefinitions.Binary, source); // add a reference to the appropriate Binary 3157 this.Core.CreateSimpleReference(sourceLineNumbers, SymbolDefinitions.Binary, source); // add a reference to the appropriate Binary
3159 break; 3158 break;
3159 case "Bitness":
3160 var bitnessValue = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
3161 switch (bitnessValue)
3162 {
3163 case "always32":
3164 explicitWin64 = true;
3165 win64 = false;
3166 break;
3167 case "always64":
3168 explicitWin64 = true;
3169 win64 = true;
3170 break;
3171 case "default":
3172 case "":
3173 break;
3174 default:
3175 this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, bitnessValue, "default", "always32", "always64"));
3176 break;
3177 }
3178 break;
3160 case "Directory": 3179 case "Directory":
3161 if (null != source) 3180 if (null != source)
3162 { 3181 {
@@ -3345,10 +3364,6 @@ namespace WixToolset.Core
3345 target = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.CanBeEmpty); // one of the few cases where an empty string value is valid 3364 target = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.CanBeEmpty); // one of the few cases where an empty string value is valid
3346 targetType = CustomActionTargetType.VBScript; 3365 targetType = CustomActionTargetType.VBScript;
3347 break; 3366 break;
3348 case "Win64":
3349 explicitWin64 = true;
3350 win64 = YesNoType.Yes == this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
3351 break;
3352 default: 3367 default:
3353 this.Core.UnexpectedAttribute(node, attrib); 3368 this.Core.UnexpectedAttribute(node, attrib);
3354 break; 3369 break;
@@ -3366,7 +3381,7 @@ namespace WixToolset.Core
3366 id = Identifier.Invalid; 3381 id = Identifier.Invalid;
3367 } 3382 }
3368 3383
3369 if (!explicitWin64 && this.IsCurrentPlatform64Bit && (CustomActionTargetType.VBScript == targetType || CustomActionTargetType.JScript == targetType)) 3384 if (!explicitWin64 && this.Context.IsCurrentPlatform64Bit && (CustomActionTargetType.VBScript == targetType || CustomActionTargetType.JScript == targetType))
3370 { 3385 {
3371 win64 = true; 3386 win64 = true;
3372 } 3387 }
diff --git a/src/WixToolset.Core/Compiler_Bundle.cs b/src/WixToolset.Core/Compiler_Bundle.cs
index 944f089e..7a386de7 100644
--- a/src/WixToolset.Core/Compiler_Bundle.cs
+++ b/src/WixToolset.Core/Compiler_Bundle.cs
@@ -33,7 +33,7 @@ namespace WixToolset.Core
33 Identifier id = null; 33 Identifier id = null;
34 string key = null; 34 string key = null;
35 string valueName = null; 35 string valueName = null;
36 var win64 = YesNoType.NotSet; 36 var win64 = this.Context.IsCurrentPlatform64Bit;
37 37
38 foreach (var attrib in node.Attributes()) 38 foreach (var attrib in node.Attributes())
39 { 39 {
@@ -44,15 +44,30 @@ namespace WixToolset.Core
44 case "Id": 44 case "Id":
45 id = this.Core.GetAttributeIdentifier(sourceLineNumbers, attrib); 45 id = this.Core.GetAttributeIdentifier(sourceLineNumbers, attrib);
46 break; 46 break;
47 case "Bitness":
48 var bitnessValue = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
49 switch (bitnessValue)
50 {
51 case "always32":
52 win64 = false;
53 break;
54 case "always64":
55 win64 = true;
56 break;
57 case "default":
58 case "":
59 break;
60 default:
61 this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, bitnessValue, "default", "always32", "always64"));
62 break;
63 }
64 break;
47 case "Key": 65 case "Key":
48 key = this.Core.GetAttributeValue(sourceLineNumbers, attrib); 66 key = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
49 break; 67 break;
50 case "Value": 68 case "Value":
51 valueName = this.Core.GetAttributeValue(sourceLineNumbers, attrib); 69 valueName = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
52 break; 70 break;
53 case "Win64":
54 win64 = this.Core.GetAttributeYesNoValue(sourceLineNumbers, attrib);
55 break;
56 default: 71 default:
57 this.Core.UnexpectedAttribute(node, attrib); 72 this.Core.UnexpectedAttribute(node, attrib);
58 break; 73 break;
@@ -76,7 +91,7 @@ namespace WixToolset.Core
76 91
77 var attributes = WixApprovedExeForElevationAttributes.None; 92 var attributes = WixApprovedExeForElevationAttributes.None;
78 93
79 if (win64 == YesNoType.Yes) 94 if (win64)
80 { 95 {
81 attributes |= WixApprovedExeForElevationAttributes.Win64; 96 attributes |= WixApprovedExeForElevationAttributes.Win64;
82 } 97 }
diff --git a/src/test/WixToolsetTest.CoreIntegration/ApprovedExeFixture.cs b/src/test/WixToolsetTest.CoreIntegration/ApprovedExeFixture.cs
new file mode 100644
index 00000000..47b47ef5
--- /dev/null
+++ b/src/test/WixToolsetTest.CoreIntegration/ApprovedExeFixture.cs
@@ -0,0 +1,64 @@
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
3namespace WixToolsetTest.CoreIntegration
4{
5 using System.IO;
6 using WixBuildTools.TestSupport;
7 using WixToolset.Core.TestPackage;
8 using Xunit;
9
10 public class ApprovedExeFixture
11 {
12 [Fact]
13 public void CanBuildWithApprovedExe()
14 {
15 var folder = TestData.Get(@"TestData");
16
17 using (var fs = new DisposableFileSystem())
18 {
19 var baseFolder = fs.GetFolder();
20 var intermediateFolder = Path.Combine(baseFolder, "obj");
21 var exePath = Path.Combine(baseFolder, @"bin\test.exe");
22
23 var result = WixRunner.Execute(new[]
24 {
25 "build",
26 Path.Combine(folder, "BundleWithApprovedExe", "Bundle.wxs"),
27 "-bindpath", Path.Combine(folder, "SimpleBundle", "data"),
28 "-bindpath", Path.Combine(folder, ".Data"),
29 "-intermediateFolder", intermediateFolder,
30 "-o", exePath,
31 });
32
33 Assert.NotEqual(0, result.ExitCode);
34 Assert.False(File.Exists(exePath));
35 }
36 }
37
38 [Fact]
39 public void CanBuildWithApprovedExe64()
40 {
41 var folder = TestData.Get(@"TestData");
42
43 using (var fs = new DisposableFileSystem())
44 {
45 var baseFolder = fs.GetFolder();
46 var intermediateFolder = Path.Combine(baseFolder, "obj");
47 var exePath = Path.Combine(baseFolder, @"bin\test.exe");
48
49 var result = WixRunner.Execute(new[]
50 {
51 "build",
52 Path.Combine(folder, "BundleWithApprovedExe", "Bundle64.wxs"),
53 "-bindpath", Path.Combine(folder, "SimpleBundle", "data"),
54 "-bindpath", Path.Combine(folder, ".Data"),
55 "-intermediateFolder", intermediateFolder,
56 "-o", exePath,
57 });
58
59 Assert.NotEqual(0, result.ExitCode);
60 Assert.False(File.Exists(exePath));
61 }
62 }
63 }
64}
diff --git a/src/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs b/src/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs
index 00738965..8c3487f0 100644
--- a/src/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs
+++ b/src/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs
@@ -186,6 +186,40 @@ namespace WixToolsetTest.CoreIntegration
186 } 186 }
187 187
188 [Fact] 188 [Fact]
189 public void PopulatesAppSearchTablesFromRegistrySearch64()
190 {
191 var folder = TestData.Get(@"TestData");
192
193 using (var fs = new DisposableFileSystem())
194 {
195 var baseFolder = fs.GetFolder();
196 var intermediateFolder = Path.Combine(baseFolder, "obj");
197 var msiPath = Path.Combine(baseFolder, @"bin\test.msi");
198
199 var result = WixRunner.Execute(new[]
200 {
201 "build",
202 Path.Combine(folder, "AppSearch", "RegistrySearch64.wxs"),
203 Path.Combine(folder, "ProductWithComponentGroupRef", "MinimalComponentGroup.wxs"),
204 Path.Combine(folder, "ProductWithComponentGroupRef", "Product.wxs"),
205 "-bindpath", Path.Combine(folder, "SingleFile", "data"),
206 "-intermediateFolder", intermediateFolder,
207 "-o", msiPath
208 });
209
210 result.AssertSuccess();
211
212 Assert.True(File.Exists(msiPath));
213 var results = Query.QueryDatabase(msiPath, new[] { "AppSearch", "RegLocator" });
214 WixAssert.CompareLineByLine(new[]
215 {
216 "AppSearch:SAMPLEREGFOUND\tSampleRegSearch",
217 "RegLocator:SampleRegSearch\t2\tSampleReg\t\t18",
218 }, results);
219 }
220 }
221
222 [Fact]
189 public void PopulatesClassTablesWhenIconIndexIsZero() 223 public void PopulatesClassTablesWhenIconIndexIsZero()
190 { 224 {
191 var folder = TestData.Get(@"TestData"); 225 var folder = TestData.Get(@"TestData");
diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/AppSearch/DecompiledNestedDirSearchUnderRegSearch.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/AppSearch/DecompiledNestedDirSearchUnderRegSearch.wxs
index 8d1e5de2..b67abbde 100644
--- a/src/test/WixToolsetTest.CoreIntegration/TestData/AppSearch/DecompiledNestedDirSearchUnderRegSearch.wxs
+++ b/src/test/WixToolsetTest.CoreIntegration/TestData/AppSearch/DecompiledNestedDirSearchUnderRegSearch.wxs
@@ -1,9 +1,9 @@
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="{33C58183-7333-4257-AEFD-6705DA66E617}"> 2 <Package Codepage="1252" Language="1033" Manufacturer="Example Corporation" Name="MsiPackage" UpgradeCode="{12E4699F-E774-4D05-8A01-5BDD41BBA127}" Version="1.0.0.0" ProductCode="{33C58183-7333-4257-AEFD-6705DA66E617}">
3 <Directory Id="TARGETDIR" Name="SourceDir"> 3 <Directory Id="TARGETDIR" Name="SourceDir">
4 <Directory Id="ProgramFilesFolder"> 4 <Directory Id="ProgramFilesFolder">
5 <Directory Id="INSTALLFOLDER" Name="MsiPackage" ShortName="ykd0udtb"> 5 <Directory Id="INSTALLFOLDER" Name="MsiPackage" ShortName="ykd0udtb">
6 <Component Id="test.txt" Guid="{E597A58A-03CB-50D8-93E3-DABA263F233A}" Win64="no"> 6 <Component Id="test.txt" Guid="{E597A58A-03CB-50D8-93E3-DABA263F233A}" Bitness="always32">
7 <File Id="test.txt" Name="test.txt" KeyPath="yes" Source="SourceDir\\MsiPackage\test.txt" /> 7 <File Id="test.txt" Name="test.txt" KeyPath="yes" Source="SourceDir\\MsiPackage\test.txt" />
8 </Component> 8 </Component>
9 </Directory> 9 </Directory>
@@ -15,10 +15,10 @@
15 <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." /> 15 <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
16 <Media Id="1" /> 16 <Media Id="1" />
17 <Property Id="SAMPLEREGFOUND"> 17 <Property Id="SAMPLEREGFOUND">
18 <RegistrySearch Id="RegSearch" Root="HKLM" Key="Reg" Type="raw" Win64="no" /> 18 <RegistrySearch Id="RegSearch" Root="HKLM" Key="Reg" Type="raw" Bitness="always32" />
19 </Property> 19 </Property>
20 <Property Id="NESTEDDIRFOUND"> 20 <Property Id="NESTEDDIRFOUND">
21 <RegistrySearch Id="ARegKeySearch" Root="HKLM" Key="ARegKey" Type="raw" Win64="no"> 21 <RegistrySearch Id="ARegKeySearch" Root="HKLM" Key="ARegKey" Type="raw" Bitness="always32">
22 <DirectorySearch Id="TopDirSearch" Path="TopDir"> 22 <DirectorySearch Id="TopDirSearch" Path="TopDir">
23 <DirectorySearch Id="SecondDirSearch" Path="SecondDir"> 23 <DirectorySearch Id="SecondDirSearch" Path="SecondDir">
24 <DirectorySearch Id="ThirdDirSearch" Path="ThirdDir"> 24 <DirectorySearch Id="ThirdDirSearch" Path="ThirdDir">
@@ -29,12 +29,12 @@
29 </RegistrySearch> 29 </RegistrySearch>
30 </Property> 30 </Property>
31 <Property Id="SAMPLENESTEDDIRFOUND"> 31 <Property Id="SAMPLENESTEDDIRFOUND">
32 <RegistrySearch Id="NestedRegSearch" Root="HKLM" Key="NestedReg" Type="raw" Win64="no"> 32 <RegistrySearch Id="NestedRegSearch" Root="HKLM" Key="NestedReg" Type="raw" Bitness="always32">
33 <DirectorySearch Id="SampleNestedDirSearch" Path="NestedDir" /> 33 <DirectorySearch Id="SampleNestedDirSearch" Path="NestedDir" />
34 </RegistrySearch> 34 </RegistrySearch>
35 </Property> 35 </Property>
36 <Property Id="SAMPLEDIRFOUND"> 36 <Property Id="SAMPLEDIRFOUND">
37 <RegistrySearch Id="SubRegSearch" Root="HKLM" Key="SampleReg" Type="raw" Win64="no"> 37 <RegistrySearch Id="SubRegSearch" Root="HKLM" Key="SampleReg" Type="raw" Bitness="always32">
38 <DirectorySearch Id="SampleDirSearch" Path="SampleDir"> 38 <DirectorySearch Id="SampleDirSearch" Path="SampleDir">
39 <DirectorySearch Id="SubDirSearch" Path="Subdir" /> 39 <DirectorySearch Id="SubDirSearch" Path="Subdir" />
40 </DirectorySearch> 40 </DirectorySearch>
diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/AppSearch/RegistrySearch64.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/AppSearch/RegistrySearch64.wxs
new file mode 100644
index 00000000..8be5abb2
--- /dev/null
+++ b/src/test/WixToolsetTest.CoreIntegration/TestData/AppSearch/RegistrySearch64.wxs
@@ -0,0 +1,12 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3 <Fragment>
4 <ComponentGroup Id="ProductComponents">
5 <ComponentGroupRef Id="MinimalComponentGroup"></ComponentGroupRef>
6 </ComponentGroup>
7
8 <Property Id="SAMPLEREGFOUND">
9 <RegistrySearch Id="SampleRegSearch" Root="HKLM" Key="SampleReg" Type="raw" Bitness="always64"></RegistrySearch>
10 </Property>
11 </Fragment>
12</Wix>
diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/BundleWithApprovedExe/Bundle.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/BundleWithApprovedExe/Bundle.wxs
new file mode 100644
index 00000000..78e754c1
--- /dev/null
+++ b/src/test/WixToolsetTest.CoreIntegration/TestData/BundleWithApprovedExe/Bundle.wxs
@@ -0,0 +1,5 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Bundle Name="BurnBundle" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="B94478B1-E1F3-4700-9CE8-6AA090854AEC">
3 <ApprovedExeForElevation Id="TestExe" Key="WixToolset\BurnTesting" Value="Test" Bitness="always32" />
4 </Bundle>
5</Wix> \ No newline at end of file
diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/BundleWithApprovedExe/Bundle64.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/BundleWithApprovedExe/Bundle64.wxs
new file mode 100644
index 00000000..18cdfd32
--- /dev/null
+++ b/src/test/WixToolsetTest.CoreIntegration/TestData/BundleWithApprovedExe/Bundle64.wxs
@@ -0,0 +1,5 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Bundle Name="BurnBundle64" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="B94478B1-E1F3-4700-9CE8-6AA090854AEC">
3 <ApprovedExeForElevation Id="TestExe" Key="WixToolset\BurnTesting" Value="Test" Bitness="always64" />
4 </Bundle>
5</Wix> \ No newline at end of file
diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/Class/DecompiledOldClassTableDef.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/Class/DecompiledOldClassTableDef.wxs
index 08ced0c2..43af2ffe 100644
--- a/src/test/WixToolsetTest.CoreIntegration/TestData/Class/DecompiledOldClassTableDef.wxs
+++ b/src/test/WixToolsetTest.CoreIntegration/TestData/Class/DecompiledOldClassTableDef.wxs
@@ -1,9 +1,9 @@
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="{FE17A505-11A9-44D2-8D94-EB6BEAB8FF93}"> 2 <Package Codepage="1252" Language="1033" Manufacturer="Example Corporation" Name="MsiPackage" UpgradeCode="{12E4699F-E774-4D05-8A01-5BDD41BBA127}" Version="1.0.0.0" ProductCode="{FE17A505-11A9-44D2-8D94-EB6BEAB8FF93}">
3 <Directory Id="TARGETDIR" Name="SourceDir"> 3 <Directory Id="TARGETDIR" Name="SourceDir">
4 <Directory Id="ProgramFilesFolder"> 4 <Directory Id="ProgramFilesFolder">
5 <Directory Id="INSTALLFOLDER" Name="MsiPackage" ShortName="oekcr5lq"> 5 <Directory Id="INSTALLFOLDER" Name="MsiPackage" ShortName="oekcr5lq">
6 <Component Id="ProgIdComp" Guid="{5B3B3FC1-533D-4C29-BFB3-0E88B51E59D8}" Win64="no"> 6 <Component Id="ProgIdComp" Guid="{5B3B3FC1-533D-4C29-BFB3-0E88B51E59D8}" Bitness="always32">
7 <Class Id="{F12A6F69-117F-471F-AE73-F8E74218F498}" Context="LocalServer32" Description="FakeClassF12A" Advertise="yes"> 7 <Class Id="{F12A6F69-117F-471F-AE73-F8E74218F498}" Context="LocalServer32" Description="FakeClassF12A" Advertise="yes">
8 <ProgId Id="73E7DF7E-EFAC-4E11-90E2-6EBAEB8DE58D" Description="FakeClassF12A" Advertise="yes" /> 8 <ProgId Id="73E7DF7E-EFAC-4E11-90E2-6EBAEB8DE58D" Description="FakeClassF12A" Advertise="yes" />
9 </Class> 9 </Class>
diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/CustomTable/CustomTable-Expected.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/CustomTable/CustomTable-Expected.wxs
index f87c9387..935cc8b3 100644
--- a/src/test/WixToolsetTest.CoreIntegration/TestData/CustomTable/CustomTable-Expected.wxs
+++ b/src/test/WixToolsetTest.CoreIntegration/TestData/CustomTable/CustomTable-Expected.wxs
@@ -1,4 +1,4 @@
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}"> 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}">
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." />
@@ -16,7 +16,7 @@
16 <Directory Id="ProgramFilesFolder" Name="PFiles"> 16 <Directory Id="ProgramFilesFolder" Name="PFiles">
17 <Directory Id="ProgramFiles6432Folder"> 17 <Directory Id="ProgramFiles6432Folder">
18 <Directory Id="INSTALLFOLDER" Name="MsiPackage" ShortName="1egc1laj"> 18 <Directory Id="INSTALLFOLDER" Name="MsiPackage" ShortName="1egc1laj">
19 <Component Id="filcV1yrx0x8wJWj4qMzcH21jwkPko" Guid="{E597A58A-03CB-50D8-93E3-DABA263F233A}" Win64="no"> 19 <Component Id="filcV1yrx0x8wJWj4qMzcH21jwkPko" Guid="{E597A58A-03CB-50D8-93E3-DABA263F233A}" Bitness="always32">
20 <File Id="filcV1yrx0x8wJWj4qMzcH21jwkPko" Name="test.txt" KeyPath="yes" Source="SourceDir\PFiles\\MsiPackage\test.txt" /> 20 <File Id="filcV1yrx0x8wJWj4qMzcH21jwkPko" Name="test.txt" KeyPath="yes" Source="SourceDir\PFiles\\MsiPackage\test.txt" />
21 </Component> 21 </Component>
22 </Directory> 22 </Directory>
diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/DecompileNullComponent/Expected.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/DecompileNullComponent/Expected.wxs
index 89592150..050adbd5 100644
--- a/src/test/WixToolsetTest.CoreIntegration/TestData/DecompileNullComponent/Expected.wxs
+++ b/src/test/WixToolsetTest.CoreIntegration/TestData/DecompileNullComponent/Expected.wxs
@@ -1,9 +1,9 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Codepage="65001" Language="1033" Manufacturer="Example Corporation" Name="MsiPackage" UpgradeCode="{047730A5-30FE-4A62-A520-DA9381B8226A}" Version="1.0.0.0" Compressed="yes" InstallerVersion="200" ProductCode="{6F9B5694-F0F1-437C-919B-0D2DAF2D9DEA}"> 2 <Package Codepage="65001" Language="1033" Manufacturer="Example Corporation" Name="MsiPackage" UpgradeCode="{047730A5-30FE-4A62-A520-DA9381B8226A}" Version="1.0.0.0" Compressed="yes" InstallerVersion="200" ProductCode="{6F9B5694-F0F1-437C-919B-0D2DAF2D9DEA}">
3 <Directory Id="TARGETDIR" Name="SourceDir"> 3 <Directory Id="TARGETDIR" Name="SourceDir">
4 <Directory Id="ProgramFilesFolder"> 4 <Directory Id="ProgramFilesFolder">
5 <Directory Id="INSTALLFOLDER" Name="MsiPackage" ShortName="oekcr5lq"> 5 <Directory Id="INSTALLFOLDER" Name="MsiPackage" ShortName="oekcr5lq">
6 <Component Id="filcV1yrx0x8wJWj4qMzcH21jwkPko" Guid="" Win64="no"> 6 <Component Id="filcV1yrx0x8wJWj4qMzcH21jwkPko" Guid="" Bitness="always32">
7 <File Id="filcV1yrx0x8wJWj4qMzcH21jwkPko" Name="test.txt" KeyPath="yes" Source="SourceDir\File\filcV1yrx0x8wJWj4qMzcH21jwkPko" /> 7 <File Id="filcV1yrx0x8wJWj4qMzcH21jwkPko" Name="test.txt" KeyPath="yes" Source="SourceDir\File\filcV1yrx0x8wJWj4qMzcH21jwkPko" />
8 </Component> 8 </Component>
9 </Directory> 9 </Directory>
diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/DecompileSingleFileCompressed/Expected.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/DecompileSingleFileCompressed/Expected.wxs
index e2557fe1..e1fb426e 100644
--- a/src/test/WixToolsetTest.CoreIntegration/TestData/DecompileSingleFileCompressed/Expected.wxs
+++ b/src/test/WixToolsetTest.CoreIntegration/TestData/DecompileSingleFileCompressed/Expected.wxs
@@ -1,9 +1,9 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Codepage="65001" Language="1033" Manufacturer="Example Corporation" Name="MsiPackage" UpgradeCode="{047730A5-30FE-4A62-A520-DA9381B8226A}" Version="1.0.0.0" Compressed="yes" InstallerVersion="200" ProductCode="{6F9B5694-F0F1-437C-919B-0D2DAF2D9DEA}"> 2 <Package Codepage="65001" Language="1033" Manufacturer="Example Corporation" Name="MsiPackage" UpgradeCode="{047730A5-30FE-4A62-A520-DA9381B8226A}" Version="1.0.0.0" Compressed="yes" InstallerVersion="200" ProductCode="{6F9B5694-F0F1-437C-919B-0D2DAF2D9DEA}">
3 <Directory Id="TARGETDIR" Name="SourceDir"> 3 <Directory Id="TARGETDIR" Name="SourceDir">
4 <Directory Id="ProgramFilesFolder"> 4 <Directory Id="ProgramFilesFolder">
5 <Directory Id="INSTALLFOLDER" Name="MsiPackage" ShortName="oekcr5lq"> 5 <Directory Id="INSTALLFOLDER" Name="MsiPackage" ShortName="oekcr5lq">
6 <Component Id="filcV1yrx0x8wJWj4qMzcH21jwkPko" Guid="{E597A58A-03CB-50D8-93E3-DABA263F233A}" Win64="no"> 6 <Component Id="filcV1yrx0x8wJWj4qMzcH21jwkPko" Guid="{E597A58A-03CB-50D8-93E3-DABA263F233A}" Bitness="always32">
7 <File Id="filcV1yrx0x8wJWj4qMzcH21jwkPko" Name="test.txt" KeyPath="yes" Source="SourceDir\File\filcV1yrx0x8wJWj4qMzcH21jwkPko" /> 7 <File Id="filcV1yrx0x8wJWj4qMzcH21jwkPko" Name="test.txt" KeyPath="yes" Source="SourceDir\File\filcV1yrx0x8wJWj4qMzcH21jwkPko" />
8 </Component> 8 </Component>
9 </Directory> 9 </Directory>
diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/DecompileSingleFileCompressed64/Expected.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/DecompileSingleFileCompressed64/Expected.wxs
index 38ce54b8..fed69a1e 100644
--- a/src/test/WixToolsetTest.CoreIntegration/TestData/DecompileSingleFileCompressed64/Expected.wxs
+++ b/src/test/WixToolsetTest.CoreIntegration/TestData/DecompileSingleFileCompressed64/Expected.wxs
@@ -1,9 +1,9 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 <Package Codepage="65001" Language="1033" Manufacturer="Example Corporation" Name="MsiPackage" UpgradeCode="{047730A5-30FE-4A62-A520-DA9381B8226A}" Version="1.0.0.0" Compressed="yes" ProductCode="{C51B773A-B3BE-4F29-A8A9-549AAF7FF6EC}"> 2 <Package Codepage="65001" Language="1033" Manufacturer="Example Corporation" Name="MsiPackage" UpgradeCode="{047730A5-30FE-4A62-A520-DA9381B8226A}" Version="1.0.0.0" Compressed="yes" ProductCode="{C51B773A-B3BE-4F29-A8A9-549AAF7FF6EC}">
3 <Directory Id="TARGETDIR" Name="SourceDir"> 3 <Directory Id="TARGETDIR" Name="SourceDir">
4 <Directory Id="ProgramFiles64Folder"> 4 <Directory Id="ProgramFiles64Folder">
5 <Directory Id="INSTALLFOLDER" Name="MsiPackage" ShortName="oekcr5lq"> 5 <Directory Id="INSTALLFOLDER" Name="MsiPackage" ShortName="oekcr5lq">
6 <Component Id="filcV1yrx0x8wJWj4qMzcH21jwkPko" Guid="{E597A58A-03CB-50D8-93E3-DABA263F233A}" Win64="yes"> 6 <Component Id="filcV1yrx0x8wJWj4qMzcH21jwkPko" Guid="{E597A58A-03CB-50D8-93E3-DABA263F233A}" Bitness="always64">
7 <File Id="filcV1yrx0x8wJWj4qMzcH21jwkPko" Name="test.txt" KeyPath="yes" Source="SourceDir\File\filcV1yrx0x8wJWj4qMzcH21jwkPko" /> 7 <File Id="filcV1yrx0x8wJWj4qMzcH21jwkPko" Name="test.txt" KeyPath="yes" Source="SourceDir\File\filcV1yrx0x8wJWj4qMzcH21jwkPko" />
8 </Component> 8 </Component>
9 </Directory> 9 </Directory>
diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/SequenceTables/DecompiledSequenceTables.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/SequenceTables/DecompiledSequenceTables.wxs
index 08af1950..6924f37a 100644
--- a/src/test/WixToolsetTest.CoreIntegration/TestData/SequenceTables/DecompiledSequenceTables.wxs
+++ b/src/test/WixToolsetTest.CoreIntegration/TestData/SequenceTables/DecompiledSequenceTables.wxs
@@ -1,10 +1,10 @@
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="{74C29381-1915-4948-B8B4-5646806A0BD4}"> 2 <Package Codepage="1252" Language="1033" Manufacturer="Example Corporation" Name="MsiPackage" UpgradeCode="{12E4699F-E774-4D05-8A01-5BDD41BBA127}" Version="1.0.0.0" ProductCode="{74C29381-1915-4948-B8B4-5646806A0BD4}">
3 <CustomAction Id="CustomAction2" Property="TestAdvtExecuteSequenceProperty" Value="1" /> 3 <CustomAction Id="CustomAction2" Property="TestAdvtExecuteSequenceProperty" Value="1" />
4 <Directory Id="TARGETDIR" Name="SourceDir"> 4 <Directory Id="TARGETDIR" Name="SourceDir">
5 <Directory Id="ProgramFilesFolder"> 5 <Directory Id="ProgramFilesFolder">
6 <Directory Id="INSTALLFOLDER" Name="MsiPackage" ShortName="ykd0udtb"> 6 <Directory Id="INSTALLFOLDER" Name="MsiPackage" ShortName="ykd0udtb">
7 <Component Id="test.txt" Guid="{E597A58A-03CB-50D8-93E3-DABA263F233A}" Win64="no"> 7 <Component Id="test.txt" Guid="{E597A58A-03CB-50D8-93E3-DABA263F233A}" Bitness="always32">
8 <File Id="test.txt" Name="test.txt" KeyPath="yes" Source="SourceDir\\MsiPackage\test.txt" /> 8 <File Id="test.txt" Name="test.txt" KeyPath="yes" Source="SourceDir\\MsiPackage\test.txt" />
9 </Component> 9 </Component>
10 </Directory> 10 </Directory>
diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/Shortcut/DecompiledShortcuts.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/Shortcut/DecompiledShortcuts.wxs
index 1b602588..13412b50 100644
--- a/src/test/WixToolsetTest.CoreIntegration/TestData/Shortcut/DecompiledShortcuts.wxs
+++ b/src/test/WixToolsetTest.CoreIntegration/TestData/Shortcut/DecompiledShortcuts.wxs
@@ -1,9 +1,9 @@
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="{6CA94D1D-B568-4ED6-9EBC-3534C85970BB}"> 2 <Package Codepage="1252" Language="1033" Manufacturer="Example Corporation" Name="MsiPackage" UpgradeCode="{12E4699F-E774-4D05-8A01-5BDD41BBA127}" Version="1.0.0.0" ProductCode="{6CA94D1D-B568-4ED6-9EBC-3534C85970BB}">
3 <Directory Id="TARGETDIR" Name="SourceDir"> 3 <Directory Id="TARGETDIR" Name="SourceDir">
4 <Directory Id="ProgramFilesFolder"> 4 <Directory Id="ProgramFilesFolder">
5 <Directory Id="INSTALLFOLDER" Name="MsiPackage" ShortName="ykd0udtb"> 5 <Directory Id="INSTALLFOLDER" Name="MsiPackage" ShortName="ykd0udtb">
6 <Component Id="ShortcutComp" Guid="{5B3B3FC1-533D-4C29-BFB3-0E88B51E59D8}" Win64="no"> 6 <Component Id="ShortcutComp" Guid="{5B3B3FC1-533D-4C29-BFB3-0E88B51E59D8}" Bitness="always32">
7 <File Id="test.txt" Name="test.txt" KeyPath="yes" Source="SourceDir\\MsiPackage\test.txt" /> 7 <File Id="test.txt" Name="test.txt" KeyPath="yes" Source="SourceDir\\MsiPackage\test.txt" />
8 <Shortcut Id="FileTargetShortcut" Directory="INSTALLFOLDER" Name="FileTargetShortcut" ShortName="lm2tdtqp" Target="[#test.txt]" /> 8 <Shortcut Id="FileTargetShortcut" Directory="INSTALLFOLDER" Name="FileTargetShortcut" ShortName="lm2tdtqp" Target="[#test.txt]" />
9 <Shortcut Id="CustomTargetShortcut" Directory="INSTALLFOLDER" Name="CustomTargetShortcut" ShortName="treusbt_" Target="[INSTALLFOLDER]custom.target" /> 9 <Shortcut Id="CustomTargetShortcut" Directory="INSTALLFOLDER" Name="CustomTargetShortcut" ShortName="treusbt_" Target="[INSTALLFOLDER]custom.target" />