@joebigelow / wix-1 / commits / 4d896b68

Some test improvements.

Sean Hall committed Jul 1, 2022 at 10:29 UTC 4d896b683e3d490e03f8cd10276b32e1f461699e
8 files changed +114 -37
src/wix/test/WixToolsetTest.CoreIntegration/BadInputFixture.cs
+36 -4
@@ -163,17 +163,15 @@ namespace WixToolsetTest.CoreIntegration
163 {
164 var baseFolder = fs.GetFolder();
165 var intermediateFolder = Path.Combine(baseFolder, "obj");
166 + var wixlibPath = Path.Combine(intermediateFolder, @"test.wixlib");
167
168 var result = WixRunner.Execute(new[]
169 {
170 "build",
171 Path.Combine(folder, "BundleWithInvalid", "BundleWithInvalidLocVariableNames.wxs"),
172 "-loc", Path.Combine(folder, "BundleWithInvalid", "BundleWithInvalidLocValues.wxl"),
172 - "-bindpath", Path.Combine(folder, ".Data"),
173 - "-bindpath", Path.Combine(folder, "DecompileSingleFileCompressed"),
174 - "-bindpath", Path.Combine(folder, "SimpleBundle", "data"),
173 "-intermediateFolder", intermediateFolder,
176 - "-o", Path.Combine(baseFolder, @"bin\test.exe")
174 + "-o", wixlibPath,
175 });
176
177 var messages = result.Messages.Select(m => m.ToString()).ToList();
@@ -190,6 +188,39 @@ namespace WixToolsetTest.CoreIntegration
188 }
189 }
190
191 + [Fact]
192 + public void CannotBuildBundleWithReservedVariableNames()
193 + {
194 + var folder = TestData.Get(@"TestData");
195 +
196 + using (var fs = new DisposableFileSystem())
197 + {
198 + var baseFolder = fs.GetFolder();
199 + var intermediateFolder = Path.Combine(baseFolder, "obj");
200 + var wixlibPath = Path.Combine(intermediateFolder, @"test.wixlib");
201 +
202 + var result = WixRunner.Execute(new[]
203 + {
204 + "build",
205 + Path.Combine(folder, "BundleWithInvalid", "BundleWithReservedVariableNames.wxs"),
206 + "-intermediateFolder", intermediateFolder,
207 + "-o", wixlibPath,
208 + });
209 +
210 + var messages = result.Messages.Select(m => m.ToString()).ToList();
211 + messages.Sort();
212 +
213 + WixAssert.CompareLineByLine(new[]
214 + {
215 + "The SetVariable/@Variable attribute's value, 'WixBundleInstalled', is one of the illegal options: 'AdminToolsFolder', 'AppDataFolder', 'CommonAppDataFolder', 'CommonFiles64Folder', 'CommonFilesFolder', 'CompatibilityMode', 'Date', 'DesktopFolder', 'FavoritesFolder', 'FontsFolder', 'InstallerName', 'InstallerVersion', 'LocalAppDataFolder', 'LogonUser', 'MyPicturesFolder', 'NativeMachine', 'NTProductType', 'NTSuiteBackOffice', 'NTSuiteDataCenter', 'NTSuiteEnterprise', 'NTSuitePersonal', 'NTSuiteSmallBusiness', 'NTSuiteSmallBusinessRestricted', 'NTSuiteWebServer', 'PersonalFolder', 'Privileged', 'ProgramFiles64Folder', 'ProgramFiles6432Folder', 'ProgramFilesFolder', 'ProgramMenuFolder', 'RebootPending', 'SendToFolder', 'ServicePackLevel', 'StartMenuFolder', 'StartupFolder', 'System64Folder', 'SystemFolder', 'TempFolder', 'TemplateFolder', 'TerminalServer', 'UserLanguageID', 'UserUILanguageID', 'VersionMsi', 'VersionNT', 'VersionNT64', 'WindowsFolder', 'WindowsVolume', 'WixBundleAction', 'WixBundleCommandLineAction', 'WixBundleForcedRestartPackage', 'WixBundleElevated', 'WixBundleInstalled', 'WixBundleProviderKey', 'WixBundleTag', or 'WixBundleVersion'.",
216 + "The Variable/@Name attribute's value begins with the reserved prefix 'Wix'. Some prefixes are reserved by the Windows Installer and WiX toolset for well-known values. Change your attribute's value to not begin with the same prefix.",
217 + "The Variable/@Name attribute's value, 'AppDataFolder', is one of the illegal options: 'AdminToolsFolder', 'AppDataFolder', 'CommonAppDataFolder', 'CommonFiles64Folder', 'CommonFilesFolder', 'CompatibilityMode', 'Date', 'DesktopFolder', 'FavoritesFolder', 'FontsFolder', 'InstallerName', 'InstallerVersion', 'LocalAppDataFolder', 'LogonUser', 'MyPicturesFolder', 'NativeMachine', 'NTProductType', 'NTSuiteBackOffice', 'NTSuiteDataCenter', 'NTSuiteEnterprise', 'NTSuitePersonal', 'NTSuiteSmallBusiness', 'NTSuiteSmallBusinessRestricted', 'NTSuiteWebServer', 'PersonalFolder', 'Privileged', 'ProgramFiles64Folder', 'ProgramFiles6432Folder', 'ProgramFilesFolder', 'ProgramMenuFolder', 'RebootPending', 'SendToFolder', 'ServicePackLevel', 'StartMenuFolder', 'StartupFolder', 'System64Folder', 'SystemFolder', 'TempFolder', 'TemplateFolder', 'TerminalServer', 'UserLanguageID', 'UserUILanguageID', 'VersionMsi', 'VersionNT', 'VersionNT64', 'WindowsFolder', 'WindowsVolume', 'WixBundleAction', 'WixBundleCommandLineAction', 'WixBundleForcedRestartPackage', 'WixBundleElevated', 'WixBundleInstalled', 'WixBundleProviderKey', 'WixBundleTag', or 'WixBundleVersion'.",
218 + }, messages.ToArray());
219 +
220 + Assert.Equal(348, result.ExitCode);
221 + }
222 + }
223 +
224 [Fact]
225 public void GuardsAgainstVariousBundleValuesFromLoc()
226 {
@@ -217,6 +248,7 @@ namespace WixToolsetTest.CoreIntegration
248
249 WixAssert.CompareLineByLine(new[]
250 {
251 + "*Search/@Condition contains the built-in Variable 'WixBundleAction', which is not available when it is evaluated. (Unavailable Variables are: 'WixBundleAction'.). Rewrite the condition to avoid Variables that are never valid during its evaluation.",
252 "Bundle/@Condition contains the built-in Variable 'WixBundleInstalled', which is not available when it is evaluated. (Unavailable Variables are: 'RebootPending', 'WixBundleAction', or 'WixBundleInstalled'.). Rewrite the condition to avoid Variables that are never valid during its evaluation.",
253 "ExePackage/@DetectCondition contains the built-in Variable 'WixBundleAction', which is not available when it is evaluated. (Unavailable Variables are: 'WixBundleAction'.). Rewrite the condition to avoid Variables that are never valid during its evaluation.",
254 "The CommandLine/@Condition attribute's value '=' is not a valid bundle condition.",
src/wix/test/WixToolsetTest.CoreIntegration/BurnRemotePayloadSubcommandFixture.cs
+19 -12
@@ -59,13 +59,11 @@ namespace WixToolsetTest.CoreIntegration
59 { "Payload", new List<string> { "Size", "Hash" } },
60 };
61 WixAssert.StringEqual(
62 - "<root>" +
62 "<BundlePackage>" +
63 "<BundlePackagePayload Name='test.exe' ProductName='DiversePayloadsBundle' Description='DiversePayloadsBundle' Hash='*' Size='*' Version='1.0.0.0'>" +
64 "<RemoteBundle BundleId='*' DisplayName='DiversePayloadsBundle' EngineVersion='*' InstallSize='3790116' ManifestNamespace='http://wixtoolset.org/schemas/v4/2008/Burn' PerMachine='yes' ProviderKey='*' ProtocolVersion='1' Version='1.0.0.0' Win64='no' UpgradeCode='{FEF1D2B8-4737-4A2A-9F91-77F7294FB55B}' />" +
65 "</BundlePackagePayload>" +
67 - "</BundlePackage>" +
68 - "</root>", xml.GetFragmentTestXml(ignoreAttributesByElementName));
66 + "</BundlePackage>", xml.GetTestXml(ignoreAttributesByElementName));
67
68 // ExternalWithoutDownloadUrl
69 var externalWithoutDownloadUrlOutFile = Path.Combine(outputFolder, "externalWithoutDownloadUrl_out.xml");
@@ -83,7 +81,6 @@ namespace WixToolsetTest.CoreIntegration
81
82 xml = File.ReadAllText(externalWithoutDownloadUrlOutFile);
83 WixAssert.StringEqual(
86 - "<root>" +
84 "<BundlePackage>" +
85 "<BundlePackagePayload Name='test.exe' ProductName='DiversePayloadsBundle' Description='DiversePayloadsBundle' Hash='*' Size='*' Version='1.0.0.0'>" +
86 "<RemoteBundle BundleId='*' DisplayName='DiversePayloadsBundle' EngineVersion='*' InstallSize='3790116' ManifestNamespace='http://wixtoolset.org/schemas/v4/2008/Burn' PerMachine='yes' ProviderKey='*' ProtocolVersion='1' Version='1.0.0.0' Win64='no' UpgradeCode='{FEF1D2B8-4737-4A2A-9F91-77F7294FB55B}' />" +
@@ -92,8 +89,7 @@ namespace WixToolsetTest.CoreIntegration
89 "<Payload Name='test.msi' Hash='*' Size='*' />" +
90 "<Payload Name='test.txt' Hash='*' Size='*' />" +
91 "<Payload Name='Shared.dll' Hash='*' Size='*' />" +
95 - "</BundlePackage>" +
96 - "</root>", xml.GetFragmentTestXml(ignoreAttributesByElementName));
92 + "</BundlePackage>", xml.GetTestXml(ignoreAttributesByElementName));
93
94 // External
95 var externalOutFile = Path.Combine(outputFolder, "external_out.xml");
@@ -111,7 +107,6 @@ namespace WixToolsetTest.CoreIntegration
107
108 xml = File.ReadAllText(externalOutFile);
109 WixAssert.StringEqual(
114 - "<root>" +
110 "<BundlePackage>" +
111 "<BundlePackagePayload Name='test.exe' ProductName='DiversePayloadsBundle' Description='DiversePayloadsBundle' Hash='*' Size='*' Version='1.0.0.0'>" +
112 "<RemoteBundle BundleId='*' DisplayName='DiversePayloadsBundle' EngineVersion='*' InstallSize='3790116' ManifestNamespace='http://wixtoolset.org/schemas/v4/2008/Burn' PerMachine='yes' ProviderKey='*' ProtocolVersion='1' Version='1.0.0.0' Win64='no' UpgradeCode='{FEF1D2B8-4737-4A2A-9F91-77F7294FB55B}' />" +
@@ -121,8 +116,7 @@ namespace WixToolsetTest.CoreIntegration
116 "<Payload Name='test.msi' Hash='*' Size='*' />" +
117 "<Payload Name='test.txt' Hash='*' Size='*' />" +
118 "<Payload Name='Shared.dll' Hash='*' Size='*' />" +
124 - "</BundlePackage>" +
125 - "</root>", xml.GetFragmentTestXml(ignoreAttributesByElementName));
119 + "</BundlePackage>", xml.GetTestXml(ignoreAttributesByElementName));
120
121 // All
122 var allOutFile = Path.Combine(outputFolder, "all_out.xml");
@@ -140,7 +134,6 @@ namespace WixToolsetTest.CoreIntegration
134
135 xml = File.ReadAllText(allOutFile);
136 WixAssert.StringEqual(
143 - "<root>" +
137 "<BundlePackage>" +
138 "<BundlePackagePayload Name='test.exe' ProductName='DiversePayloadsBundle' Description='DiversePayloadsBundle' Hash='*' Size='*' Version='1.0.0.0'>" +
139 "<RemoteBundle BundleId='*' DisplayName='DiversePayloadsBundle' EngineVersion='*' InstallSize='3790116' ManifestNamespace='http://wixtoolset.org/schemas/v4/2008/Burn' PerMachine='yes' ProviderKey='*' ProtocolVersion='1' Version='1.0.0.0' Win64='no' UpgradeCode='{FEF1D2B8-4737-4A2A-9F91-77F7294FB55B}' />" +
@@ -151,8 +144,7 @@ namespace WixToolsetTest.CoreIntegration
144 "<Payload Name='test.msi' Hash='*' Size='*' />" +
145 "<Payload Name='test.txt' Hash='*' Size='*' />" +
146 "<Payload Name='Shared.dll' Hash='*' Size='*' />" +
154 - "</BundlePackage>" +
155 - "</root>", xml.GetFragmentTestXml(ignoreAttributesByElementName));
147 + "</BundlePackage>", xml.GetTestXml(ignoreAttributesByElementName));
148 }
149 }
150
@@ -266,6 +258,8 @@ namespace WixToolsetTest.CoreIntegration
258 var remotePayloadSourceFile = Path.Combine(outputFolder, "remotePayload.wxs");
259 var intermediateFolder = Path.Combine(outputFolder, "obj");
260 var bundleFile = Path.Combine(intermediateFolder, "out.exe");
261 + var baFolderPath = Path.Combine(outputFolder, "ba");
262 + var extractFolderPath = Path.Combine(outputFolder, "extract");
263
264 var result = WixRunner.Execute(new[]
265 {
@@ -313,6 +307,17 @@ namespace WixToolsetTest.CoreIntegration
307 });
308
309 result.AssertSuccess();
310 +
311 + var extractResult = BundleExtractor.ExtractBAContainer(null, bundleFile, baFolderPath, extractFolderPath);
312 + extractResult.AssertSuccess();
313 +
314 + var msuPackages = extractResult.GetManifestTestXmlLines("/burn:BurnManifest/burn:Chain/burn:MsuPackage");
315 + WixAssert.CompareLineByLine(new string[]
316 + {
317 + "<MsuPackage Id='Windows8.1_KB2937592_x86.msu' Cache='keep' CacheId='904ADEA6AB675ACE16483138BF3F5850FD56ACB6E3A1108E2BA23632620C427C' InstallSize='309544' Size='309544' PerMachine='yes' Permanent='no' Vital='yes' RollbackBoundaryForward='WixDefaultBoundary' RollbackBoundaryBackward='WixDefaultBoundary' DetectCondition='test'>" +
318 + "<PayloadRef Id='Windows8.1_KB2937592_x86.msu' />" +
319 + "</MsuPackage>",
320 + }, msuPackages);
321 }
322 }
323
@@ -328,6 +333,8 @@ namespace WixToolsetTest.CoreIntegration
333 var remotePayloadSourceFile = Path.Combine(outputFolder, "remotePayload.wxs");
334 var intermediateFolder = Path.Combine(outputFolder, "obj");
335 var bundleFile = Path.Combine(intermediateFolder, "out.exe");
336 + var baFolderPath = Path.Combine(outputFolder, "ba");
337 + var extractFolderPath = Path.Combine(outputFolder, "extract");
338
339 var result = WixRunner.Execute(new[]
340 {
src/wix/test/WixToolsetTest.CoreIntegration/ExePackageFixture.cs
+7 -8
@@ -44,14 +44,10 @@ namespace WixToolsetTest.CoreIntegration
44 var extractResult = BundleExtractor.ExtractBAContainer(null, bundlePath, baFolderPath, extractFolderPath);
45 extractResult.AssertSuccess();
46
47 - var ignoreAttributes = new Dictionary<string, List<string>>
48 - {
49 - { "ExePackage", new List<string> { "CacheId", "Size" } },
50 - };
51 - var exePackages = extractResult.GetManifestTestXmlLines("/burn:BurnManifest/burn:Chain/burn:ExePackage", ignoreAttributes);
47 + var exePackages = extractResult.GetManifestTestXmlLines("/burn:BurnManifest/burn:Chain/burn:ExePackage");
48 WixAssert.CompareLineByLine(new string[]
49 {
54 - "<ExePackage Id='burn.exe' Cache='keep' CacheId='*' InstallSize='463360' Size='*' PerMachine='yes' Permanent='no' Vital='yes' RollbackBoundaryForward='WixDefaultBoundary' RollbackBoundaryBackward='WixDefaultBoundary' LogPathVariable='WixBundleLog_burn.exe' RollbackLogPathVariable='WixBundleRollbackLog_burn.exe' InstallArguments='-install' RepairArguments='-repair' Repairable='yes' DetectionType='arp' ArpId='id' ArpDisplayVersion='1.0.0.0'>" +
50 + "<ExePackage Id='burn.exe' Cache='keep' CacheId='F6E722518AC3AB7E31C70099368D5770788C179AA23226110DCF07319B1E1964' InstallSize='463360' Size='463360' PerMachine='yes' Permanent='no' Vital='yes' RollbackBoundaryForward='WixDefaultBoundary' RollbackBoundaryBackward='WixDefaultBoundary' LogPathVariable='WixBundleLog_burn.exe' RollbackLogPathVariable='WixBundleRollbackLog_burn.exe' InstallArguments='-install' RepairArguments='-repair' Repairable='yes' DetectionType='arp' ArpId='id' ArpDisplayVersion='1.0.0.0'>" +
51 "<PayloadRef Id='burn.exe' />" +
52 "</ExePackage>",
53 }, exePackages);
@@ -465,9 +461,12 @@ namespace WixToolsetTest.CoreIntegration
461 "-o", Path.Combine(baseFolder, "bin", "test.exe")
462 });
463
464 + WixAssert.CompareLineByLine(new[]
465 + {
466 + "The ExePackage/@CacheId attribute was not found; it is required when attribute CertificatePublicKey is specified.",
467 + }, result.Messages.Select(m => m.ToString()).ToArray());
468 +
469 Assert.Equal(10, result.ExitCode);
469 - var message = result.Messages.Single();
470 - Assert.Equal("The ExePackage/@CacheId attribute was not found; it is required when attribute CertificatePublicKey is specified.", message.ToString());
470 }
471 }
472 }
src/wix/test/WixToolsetTest.CoreIntegration/FeatureFixture.cs
+4 -1
@@ -71,7 +71,10 @@ namespace WixToolsetTest.CoreIntegration
71 {
72 7503
73 }, errors.Select(e => e.Id).ToArray());
74 - Assert.Equal("Maximum depth of the Feature tree allowed in an MSI was exceeded. An MSI does not support a Feature tree with depth greater than 16. The Feature 'Depth17' is at depth 17.", errors.Single().ToString());
74 + WixAssert.CompareLineByLine(new[]
75 + {
76 + "Maximum depth of the Feature tree allowed in an MSI was exceeded. An MSI does not support a Feature tree with depth greater than 16. The Feature 'Depth17' is at depth 17.",
77 + }, result.Messages.Select(m => m.ToString()).ToArray());
78 }
79 }
80 }
src/wix/test/WixToolsetTest.CoreIntegration/MsiPackageFixture.cs
+1 -4
@@ -41,10 +41,7 @@ namespace WixToolsetTest.CoreIntegration
41 var extractResult = BundleExtractor.ExtractBAContainer(null, exePath, baFolderPath, extractFolderPath);
42 extractResult.AssertSuccess();
43
44 - var msiProperties = extractResult.SelectManifestNodes("/burn:BurnManifest/burn:Chain/burn:MsiPackage/burn:MsiProperty")
45 - .Cast<XmlElement>()
46 - .Select(e => e.GetTestXml())
47 - .ToArray();
44 + var msiProperties = extractResult.GetManifestTestXmlLines("/burn:BurnManifest/burn:Chain/burn:MsiPackage/burn:MsiProperty");
45 WixAssert.CompareLineByLine(new[]
46 {
47 "<MsiProperty Id='MSIFASTINSTALL' Value='7' />"
src/wix/test/WixToolsetTest.CoreIntegration/MsuPackageFixture.cs
+39 -6
@@ -20,6 +20,10 @@ namespace WixToolsetTest.CoreIntegration
20 {
21 var baseFolder = fs.GetFolder();
22 var intermediateFolder = Path.Combine(baseFolder, "obj");
23 + var binFolder = Path.Combine(baseFolder, "bin");
24 + var bundlePath = Path.Combine(binFolder, "test.exe");
25 + var baFolderPath = Path.Combine(baseFolder, "ba");
26 + var extractFolderPath = Path.Combine(baseFolder, "extract");
27
28 var result = WixRunner.Execute(new[]
29 {
@@ -28,11 +32,22 @@ namespace WixToolsetTest.CoreIntegration
32 "-bindpath", Path.Combine(folder, "data"),
33 "-bindpath", dotDatafolder,
34 "-intermediateFolder", intermediateFolder,
31 - "-o", Path.Combine(baseFolder, "bin", "test.exe")
35 + "-o", bundlePath,
36 });
37
38 result.AssertSuccess();
35 - Assert.True(File.Exists(Path.Combine(baseFolder, "bin", "test.exe")));
39 + Assert.True(File.Exists(bundlePath));
40 +
41 + var extractResult = BundleExtractor.ExtractBAContainer(null, bundlePath, baFolderPath, extractFolderPath);
42 + extractResult.AssertSuccess();
43 +
44 + var msuPackages = extractResult.GetManifestTestXmlLines("/burn:BurnManifest/burn:Chain/burn:MsuPackage");
45 + WixAssert.CompareLineByLine(new string[]
46 + {
47 + "<MsuPackage Id='test.msu' Cache='keep' CacheId='B040F02D2F90E04E9AFBDC91C00CEB5DF97D48E205D96DC0A44E10AF8870794D' InstallSize='28' Size='28' PerMachine='yes' Permanent='no' Vital='yes' RollbackBoundaryForward='WixDefaultBoundary' RollbackBoundaryBackward='WixDefaultBoundary' DetectCondition='DetectedTheMsu'>" +
48 + "<PayloadRef Id='test.msu' />" +
49 + "</MsuPackage>",
50 + }, msuPackages);
51 }
52 }
53
@@ -46,6 +61,10 @@ namespace WixToolsetTest.CoreIntegration
61 {
62 var baseFolder = fs.GetFolder();
63 var intermediateFolder = Path.Combine(baseFolder, "obj");
64 + var binFolder = Path.Combine(baseFolder, "bin");
65 + var bundlePath = Path.Combine(binFolder, "test.exe");
66 + var baFolderPath = Path.Combine(baseFolder, "ba");
67 + var extractFolderPath = Path.Combine(baseFolder, "extract");
68
69 var result = WixRunner.Execute(new[]
70 {
@@ -54,11 +73,22 @@ namespace WixToolsetTest.CoreIntegration
73 "-bindpath", Path.Combine(folder, "data"),
74 "-bindpath", dotDatafolder,
75 "-intermediateFolder", intermediateFolder,
57 - "-o", Path.Combine(baseFolder, "bin", "test.exe")
76 + "-o", bundlePath,
77 });
78
79 result.AssertSuccess();
61 - Assert.True(File.Exists(Path.Combine(baseFolder, "bin", "test.exe")));
80 + Assert.True(File.Exists(bundlePath));
81 +
82 + var extractResult = BundleExtractor.ExtractBAContainer(null, bundlePath, baFolderPath, extractFolderPath);
83 + extractResult.AssertSuccess();
84 +
85 + var msuPackages = extractResult.GetManifestTestXmlLines("/burn:BurnManifest/burn:Chain/burn:MsuPackage");
86 + WixAssert.CompareLineByLine(new string[]
87 + {
88 + "<MsuPackage Id='Windows8.1_KB2937592_x86.msu' Cache='keep' CacheId='8cf75b99-13c0-4184-82ce-dbde45dcd55a' InstallSize='309544' Size='309544' PerMachine='yes' Permanent='no' Vital='yes' RollbackBoundaryForward='WixDefaultBoundary' RollbackBoundaryBackward='WixDefaultBoundary' DetectCondition='DetectedTheMsu'>" +
89 + "<PayloadRef Id='Windows8.1_KB2937592_x86.msu' />" +
90 + "</MsuPackage>",
91 + }, msuPackages);
92 }
93 }
94
@@ -83,9 +113,12 @@ namespace WixToolsetTest.CoreIntegration
113 "-o", Path.Combine(baseFolder, "bin", "test.exe")
114 });
115
116 + WixAssert.CompareLineByLine(new[]
117 + {
118 + "The MsuPackage/@CacheId attribute was not found; it is required when attribute CertificatePublicKey is specified.",
119 + }, result.Messages.Select(m => m.ToString()).ToArray());
120 +
121 Assert.Equal(10, result.ExitCode);
87 - var message = result.Messages.Single();
88 - Assert.Equal("The MsuPackage/@CacheId attribute was not found; it is required when attribute CertificatePublicKey is specified.", message.ToString());
122 }
123 }
124
src/wix/test/WixToolsetTest.CoreIntegration/TestData/BundleWithInvalid/BundleWithInvalidLocValues.wxs
+1 -2
@@ -12,7 +12,6 @@
12 <CommandLine Condition="!(loc.NonsenseExecuteCondition)" />
13 </ExePackage>
14 </Chain>
15 - <!--<Variable Name="FOO" Value="1" />
16 - <SetVariable Id="Builtin" Condition="!(loc.NonsenseDetectCondition)" Variable="FOO" Value="1" />-->
15 + <SetVariable Id="Builtin" Condition="!(loc.NonsenseDetectCondition)" Variable="FOO" Value="1" />
16 </Bundle>
17 </Wix>
src/wix/test/WixToolsetTest.CoreIntegration/TestData/BundleWithInvalid/BundleWithReservedVariableNames.wxs new
+7
@@ -0,0 +1,7 @@
1 +<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 + <Fragment>
3 + <SetVariable Id="Builtin" Variable="WixBundleInstalled" Value="1" />
4 + <Variable Name="WixCustomVariable" />
5 + <Variable Name="AppDataFolder" />
6 + </Fragment>
7 +</Wix>