Add test for building x64 bundle.
Bob Arnson committed
Jan 3, 2021 at 16:36 UTC
2fccb302778f71cffb4791131bedf1bf7267b94e
1 file changed
+46
src/test/WixToolsetTest.CoreIntegration/BundleFixture.cs
+46
@@ -132,6 +132,52 @@ namespace WixToolsetTest.CoreIntegration
132
}
133
}
134
135
+ [Fact]
136
+ public void CanBuildX64Bundle()
137
+ {
138
+ var folder = TestData.Get(@"TestData\SimpleBundle");
139
+
140
+ using (var fs = new DisposableFileSystem())
141
+ {
142
+ var baseFolder = fs.GetFolder();
143
+ var intermediateFolder = Path.Combine(baseFolder, "obj");
144
+ var exePath = Path.Combine(baseFolder, @"bin\test.exe");
145
+ var pdbPath = Path.Combine(baseFolder, @"bin\test.wixpdb");
146
+ var baFolderPath = Path.Combine(baseFolder, "ba");
147
+ var extractFolderPath = Path.Combine(baseFolder, "extract");
148
+
149
+ var result = WixRunner.Execute(new[]
150
+ {
151
+ "build",
152
+ "-arch", "x64",
153
+ Path.Combine(folder, "Bundle.wxs"),
154
+ "-loc", Path.Combine(folder, "Bundle.en-us.wxl"),
155
+ "-bindpath", Path.Combine(folder, "data"),
156
+ "-intermediateFolder", intermediateFolder,
157
+ "-o", exePath,
158
+ });
159
+
160
+ result.AssertSuccess();
161
+ Assert.Empty(result.Messages.Where(m => m.Level == MessageLevel.Warning));
162
+
163
+ Assert.True(File.Exists(exePath));
164
+ Assert.True(File.Exists(pdbPath));
165
+
166
+ var manifestResource = new Resource(ResourceType.Manifest, "#1", 1033);
167
+ manifestResource.Load(exePath);
168
+ var actualManifestData = Encoding.UTF8.GetString(manifestResource.Data);
169
+ Assert.Equal("<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
170
+ "<assembly manifestVersion=\"1.0\" xmlns=\"urn:schemas-microsoft-com:asm.v1\">" +
171
+ "<assemblyIdentity name=\"test.exe\" version=\"1.0.0.0\" processorArchitecture=\"amd64\" type=\"win32\" />" +
172
+ "<description>~TestBundle</description>" +
173
+ "<dependency><dependentAssembly><assemblyIdentity name=\"Microsoft.Windows.Common-Controls\" version=\"6.0.0.0\" processorArchitecture=\"amd64\" publicKeyToken=\"6595b64144ccf1df\" language=\"*\" type=\"win32\" /></dependentAssembly></dependency>" +
174
+ "<compatibility xmlns=\"urn:schemas-microsoft-com:compatibility.v1\"><application><supportedOS Id=\"{e2011457-1546-43c5-a5fe-008deee3d3f0}\" /><supportedOS Id=\"{35138b9a-5d96-4fbd-8e2d-a2440225f93a}\" /><supportedOS Id=\"{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}\" /><supportedOS Id=\"{1f676c76-80e1-4239-95bb-83d0f6d0da78}\" /><supportedOS Id=\"{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}\" /></application></compatibility>" +
175
+ "<trustInfo xmlns=\"urn:schemas-microsoft-com:asm.v3\"><security><requestedPrivileges><requestedExecutionLevel level=\"asInvoker\" uiAccess=\"false\" /></requestedPrivileges></security></trustInfo>" +
176
+ "<application xmlns=\"urn:schemas-microsoft-com:asm.v3\"><windowsSettings><dpiAware xmlns=\"http://schemas.microsoft.com/SMI/2005/WindowsSettings\">true/pm</dpiAware><dpiAwareness xmlns=\"http://schemas.microsoft.com/SMI/2016/WindowsSettings\">PerMonitorV2, PerMonitor</dpiAwareness></windowsSettings></application>" +
177
+ "</assembly>", actualManifestData);
178
+ }
179
+ }
180
+
181
[Fact]
182
public void CanBuildSimpleBundleUsingExtensionBA()
183
{