@joebigelow / wix-1 / commits / 6e691be7

Add failing test for MsiAssembly.

Sean Hall committed Sep 30, 2019 at 11:58 UTC 6e691be7e8276b3a44a6631d7da8b3e09c8b103d
4 files changed +127
src/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs
+36
@@ -411,6 +411,42 @@ namespace WixToolsetTest.CoreIntegration
411 }
412 }
413
414 + [Fact(Skip = "Test demonstrates failure")]
415 + public void PopulatesMsiAssemblyTables()
416 + {
417 + var folder = TestData.Get(@"TestData");
418 +
419 + using (var fs = new DisposableFileSystem())
420 + {
421 + var baseFolder = fs.GetFolder();
422 + var intermediateFolder = Path.Combine(baseFolder, "obj");
423 + var msiPath = Path.Combine(baseFolder, @"bin\test.msi");
424 +
425 + var result = WixRunner.Execute(new[]
426 + {
427 + "build",
428 + Path.Combine(folder, "Assembly", "Win32Assembly.wxs"),
429 + Path.Combine(folder, "ProductWithComponentGroupRef", "MinimalComponentGroup.wxs"),
430 + Path.Combine(folder, "ProductWithComponentGroupRef", "Product.wxs"),
431 + "-bindpath", Path.Combine(folder, "Assembly", "data"),
432 + "-bindpath", Path.Combine(folder, "SingleFile", "data"),
433 + "-intermediateFolder", intermediateFolder,
434 + "-o", msiPath
435 + });
436 +
437 + result.AssertSuccess();
438 +
439 + Assert.True(File.Exists(msiPath));
440 + var results = Query.QueryDatabase(msiPath, new[] { "MsiAssembly", "MsiAssemblyName" });
441 + Assert.Equal(new[]
442 + {
443 + "MsiAssembly:test.txt\tProductFeature\ttest.dll.manifest\t\t1",
444 + "MsiAssemblyName:test.txt\tname\tMyApplication.app",
445 + "MsiAssemblyName:test.txt\tversion\t1.0.0.0",
446 + }, results);
447 + }
448 + }
449 +
450 [Fact(Skip = "Test demonstrates failure")]
451 public void PopulatesMsiShortcutPropertyTable()
452 {
src/test/WixToolsetTest.CoreIntegration/TestData/Assembly/Win32Assembly.wxs new
+13
@@ -0,0 +1,13 @@
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
3 + <Fragment>
4 + <ComponentGroup Id="ProductComponents">
5 + <Component Directory="INSTALLFOLDER">
6 + <File Source="test.txt" Assembly="win32" AssemblyManifest="test.dll.manifest" />
7 + </Component>
8 + <Component Id="test.dll.manifest" Directory="INSTALLFOLDER">
9 + <File Id="test.dll.manifest" Source="test.manifest" Name="test.dll.manifest"></File>
10 + </Component>
11 + </ComponentGroup>
12 + </Fragment>
13 +</Wix>
src/test/WixToolsetTest.CoreIntegration/TestData/Assembly/data/test.manifest new
+76
@@ -0,0 +1,76 @@
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
3 + <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
4 + <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
5 + <security>
6 + <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
7 + <!-- UAC Manifest Options
8 + If you want to change the Windows User Account Control level replace the
9 + requestedExecutionLevel node with one of the following.
10 +
11 + <requestedExecutionLevel level="asInvoker" uiAccess="false" />
12 + <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
13 + <requestedExecutionLevel level="highestAvailable" uiAccess="false" />
14 +
15 + Specifying requestedExecutionLevel element will disable file and registry virtualization.
16 + Remove this element if your application requires this virtualization for backwards
17 + compatibility.
18 + -->
19 + <requestedExecutionLevel level="asInvoker" uiAccess="false" />
20 + </requestedPrivileges>
21 + </security>
22 + </trustInfo>
23 +
24 + <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
25 + <application>
26 + <!-- A list of the Windows versions that this application has been tested on
27 + and is designed to work with. Uncomment the appropriate elements
28 + and Windows will automatically select the most compatible environment. -->
29 +
30 + <!-- Windows Vista -->
31 + <!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
32 +
33 + <!-- Windows 7 -->
34 + <!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
35 +
36 + <!-- Windows 8 -->
37 + <!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
38 +
39 + <!-- Windows 8.1 -->
40 + <!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
41 +
42 + <!-- Windows 10 -->
43 + <!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
44 +
45 + </application>
46 + </compatibility>
47 +
48 + <!-- Indicates that the application is DPI-aware and will not be automatically scaled by Windows at higher
49 + DPIs. Windows Presentation Foundation (WPF) applications are automatically DPI-aware and do not need
50 + to opt in. Windows Forms applications targeting .NET Framework 4.6 that opt into this setting, should
51 + also set the 'EnableWindowsFormsHighDpiAutoResizing' setting to 'true' in their app.config. -->
52 + <!--
53 + <application xmlns="urn:schemas-microsoft-com:asm.v3">
54 + <windowsSettings>
55 + <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
56 + </windowsSettings>
57 + </application>
58 + -->
59 +
60 + <!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->
61 + <!--
62 + <dependency>
63 + <dependentAssembly>
64 + <assemblyIdentity
65 + type="win32"
66 + name="Microsoft.Windows.Common-Controls"
67 + version="6.0.0.0"
68 + processorArchitecture="*"
69 + publicKeyToken="6595b64144ccf1df"
70 + language="*"
71 + />
72 + </dependentAssembly>
73 + </dependency>
74 + -->
75 +
76 +</assembly>
src/test/WixToolsetTest.CoreIntegration/WixToolsetTest.CoreIntegration.csproj
+2
@@ -87,9 +87,11 @@
87 <Content Include="TestData\ManualUpgrade\Package.wxs" CopyToOutputDirectory="PreserveNewest" />
88 <Content Include="TestData\ManualUpgrade\PackageComponents.wxs" CopyToOutputDirectory="PreserveNewest" />
89 <Content Include="TestData\Assembly\data\candle.exe" CopyToOutputDirectory="PreserveNewest" />
90 + <Content Include="TestData\Assembly\data\test.manifest" CopyToOutputDirectory="PreserveNewest" />
91 <Content Include="TestData\Assembly\Package.en-us.wxl" CopyToOutputDirectory="PreserveNewest" />
92 <Content Include="TestData\Assembly\Package.wxs" CopyToOutputDirectory="PreserveNewest" />
93 <Content Include="TestData\Assembly\PackageComponents.wxs" CopyToOutputDirectory="PreserveNewest" />
94 + <Content Include="TestData\Assembly\Win32Assembly.wxs" CopyToOutputDirectory="PreserveNewest" />
95 <Content Include="TestData\Upgrade\DetectOnly.wxs" CopyToOutputDirectory="PreserveNewest" />
96 <Content Include="TestData\Variables\data\test.txt" CopyToOutputDirectory="PreserveNewest" />
97 <Content Include="TestData\Variables\Package.en-us.wxl" CopyToOutputDirectory="PreserveNewest" />