diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2021-05-01 20:44:43 -0500 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2021-05-04 11:33:47 -0500 |
commit | 70f6c04122db39b5d234715c373d690f97892f8b (patch) | |
tree | b5db48faa12017b9c807fb616aba8926fb7e7d9b | |
parent | 0ef54303db8ce523908af744ffc318128405bebd (diff) | |
download | wix-70f6c04122db39b5d234715c373d690f97892f8b.tar.gz wix-70f6c04122db39b5d234715c373d690f97892f8b.tar.bz2 wix-70f6c04122db39b5d234715c373d690f97892f8b.zip |
Add x64 Bundle tests.
22 files changed, 412 insertions, 42 deletions
diff --git a/BurnE2ETests.sln b/BurnE2ETests.sln index 2e3523bf..7cdb0cf0 100644 --- a/BurnE2ETests.sln +++ b/BurnE2ETests.sln | |||
@@ -73,8 +73,6 @@ Global | |||
73 | GlobalSection(SolutionProperties) = preSolution | 73 | GlobalSection(SolutionProperties) = preSolution |
74 | HideSolutionNode = FALSE | 74 | HideSolutionNode = FALSE |
75 | EndGlobalSection | 75 | EndGlobalSection |
76 | GlobalSection(NestedProjects) = preSolution | ||
77 | EndGlobalSection | ||
78 | GlobalSection(ExtensibilityGlobals) = postSolution | 76 | GlobalSection(ExtensibilityGlobals) = postSolution |
79 | SolutionGuid = {74DE2EED-ECAA-4FDD-9792-9D3B0C0C1321} | 77 | SolutionGuid = {74DE2EED-ECAA-4FDD-9792-9D3B0C0C1321} |
80 | EndGlobalSection | 78 | EndGlobalSection |
diff --git a/src/TestBA/TestBA_x64.csproj b/src/TestBA/TestBA_x64.csproj new file mode 100644 index 00000000..1368e0f0 --- /dev/null +++ b/src/TestBA/TestBA_x64.csproj | |||
@@ -0,0 +1,24 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!-- 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. --> | ||
3 | |||
4 | <Project Sdk="Microsoft.NET.Sdk"> | ||
5 | <PropertyGroup> | ||
6 | <TargetFrameworks>net35;net5.0-windows</TargetFrameworks> | ||
7 | <AssemblyName>TestBA</AssemblyName> | ||
8 | <RootNamespace>WixToolset.Test.BA</RootNamespace> | ||
9 | <DebugType>embedded</DebugType> | ||
10 | <RuntimeIdentifier>win-x64</RuntimeIdentifier> | ||
11 | <EnableDynamicLoading>true</EnableDynamicLoading> | ||
12 | <UseWindowsForms>true</UseWindowsForms> | ||
13 | <RollForward>Major</RollForward> | ||
14 | </PropertyGroup> | ||
15 | |||
16 | <ItemGroup Condition=" '$(TargetFramework)'=='net35' "> | ||
17 | <Content Include="TestBA.BootstrapperCore.config" CopyToOutputDirectory="PreserveNewest" /> | ||
18 | <Reference Include="System.Windows.Forms" /> | ||
19 | </ItemGroup> | ||
20 | |||
21 | <ItemGroup> | ||
22 | <PackageReference Include="WixToolset.Mba.Core" Version="4.0.58" /> | ||
23 | </ItemGroup> | ||
24 | </Project> \ No newline at end of file | ||
diff --git a/src/TestData/BasicFunctionalityTests/BundleA_x64/BundleA_x64.wixproj b/src/TestData/BasicFunctionalityTests/BundleA_x64/BundleA_x64.wixproj new file mode 100644 index 00000000..f5c53195 --- /dev/null +++ b/src/TestData/BasicFunctionalityTests/BundleA_x64/BundleA_x64.wixproj | |||
@@ -0,0 +1,19 @@ | |||
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 | <Project Sdk="WixToolset.Sdk"> | ||
3 | <PropertyGroup> | ||
4 | <OutputType>Bundle</OutputType> | ||
5 | <InstallerPlatform>x64</InstallerPlatform> | ||
6 | <SuppressSpecificWarnings>1154;$(SuppressSpecificWarnings)</SuppressSpecificWarnings> | ||
7 | <BA>hyperlinkLicense</BA> | ||
8 | <UpgradeCode>{6E86B95A-24F6-4C89-AF2E-470C0C734FCB}</UpgradeCode> | ||
9 | </PropertyGroup> | ||
10 | <ItemGroup> | ||
11 | <Compile Include="..\..\Templates\Bundle.wxs" Link="Bundle.wxs" /> | ||
12 | </ItemGroup> | ||
13 | <ItemGroup> | ||
14 | <ProjectReference Include="..\PackageA_x64\PackageA_x64.wixproj" /> | ||
15 | </ItemGroup> | ||
16 | <ItemGroup> | ||
17 | <PackageReference Include="WixToolset.Bal.wixext" Version="4.0.101" /> | ||
18 | </ItemGroup> | ||
19 | </Project> \ No newline at end of file | ||
diff --git a/src/TestData/BasicFunctionalityTests/BundleA_x64/BundleA_x64.wxs b/src/TestData/BasicFunctionalityTests/BundleA_x64/BundleA_x64.wxs new file mode 100644 index 00000000..d34e51b6 --- /dev/null +++ b/src/TestData/BasicFunctionalityTests/BundleA_x64/BundleA_x64.wxs | |||
@@ -0,0 +1,10 @@ | |||
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 | |||
3 | |||
4 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> | ||
5 | <Fragment> | ||
6 | <PackageGroup Id="BundlePackages"> | ||
7 | <MsiPackage Id="PackageA_x64" SourceFile="$(var.PackageA_x64.TargetPath)" /> | ||
8 | </PackageGroup> | ||
9 | </Fragment> | ||
10 | </Wix> | ||
diff --git a/src/TestData/BasicFunctionalityTests/BundleB/BundleB.wixproj b/src/TestData/BasicFunctionalityTests/BundleB/BundleB.wixproj new file mode 100644 index 00000000..8ea9afe0 --- /dev/null +++ b/src/TestData/BasicFunctionalityTests/BundleB/BundleB.wixproj | |||
@@ -0,0 +1,19 @@ | |||
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 | <Project Sdk="WixToolset.Sdk"> | ||
3 | <PropertyGroup> | ||
4 | <OutputType>Bundle</OutputType> | ||
5 | <UpgradeCode>{02258734-E25E-4A2C-AFC5-55C34F1994CB}</UpgradeCode> | ||
6 | </PropertyGroup> | ||
7 | <ItemGroup> | ||
8 | <Compile Include="..\..\Templates\Bundle.wxs" Link="Bundle.wxs" /> | ||
9 | <Compile Include="..\BundleA\BundleA.wxs" Link="BundleB.wxs" /> | ||
10 | </ItemGroup> | ||
11 | <ItemGroup> | ||
12 | <ProjectReference Include="..\PackageA\PackageA.wixproj" /> | ||
13 | <ProjectReference Include="..\..\TestBA\TestBAWixlib\testbawixlib.wixproj" /> | ||
14 | </ItemGroup> | ||
15 | <ItemGroup> | ||
16 | <PackageReference Include="WixToolset.Bal.wixext" Version="4.0.101" /> | ||
17 | <PackageReference Include="WixToolset.NetFx.wixext" Version="4.0.73" /> | ||
18 | </ItemGroup> | ||
19 | </Project> \ No newline at end of file | ||
diff --git a/src/TestData/BasicFunctionalityTests/BundleB_x64/BundleB_x64.wixproj b/src/TestData/BasicFunctionalityTests/BundleB_x64/BundleB_x64.wixproj new file mode 100644 index 00000000..35f78cb8 --- /dev/null +++ b/src/TestData/BasicFunctionalityTests/BundleB_x64/BundleB_x64.wixproj | |||
@@ -0,0 +1,22 @@ | |||
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 | <Project Sdk="WixToolset.Sdk"> | ||
3 | <PropertyGroup> | ||
4 | <OutputType>Bundle</OutputType> | ||
5 | <BA>TestBA_x64</BA> | ||
6 | <UpgradeCode>{79F45B7A-D990-46E4-819B-078D87C3321A}</UpgradeCode> | ||
7 | <InstallerPlatform>x64</InstallerPlatform> | ||
8 | <SuppressSpecificWarnings>1154;$(SuppressSpecificWarnings)</SuppressSpecificWarnings> | ||
9 | </PropertyGroup> | ||
10 | <ItemGroup> | ||
11 | <Compile Include="..\..\Templates\Bundle.wxs" Link="Bundle.wxs" /> | ||
12 | <Compile Include="..\BundleA_x64\BundleA_x64.wxs" Link="BundleB_x64.wxs" /> | ||
13 | </ItemGroup> | ||
14 | <ItemGroup> | ||
15 | <ProjectReference Include="..\PackageA_x64\PackageA_x64.wixproj" /> | ||
16 | <ProjectReference Include="..\..\TestBA\TestBAWixlib_x64\testbawixlib_x64.wixproj" /> | ||
17 | </ItemGroup> | ||
18 | <ItemGroup> | ||
19 | <PackageReference Include="WixToolset.Bal.wixext" Version="4.0.101" /> | ||
20 | <PackageReference Include="WixToolset.NetFx.wixext" Version="4.0.73" /> | ||
21 | </ItemGroup> | ||
22 | </Project> \ No newline at end of file | ||
diff --git a/src/TestData/BasicFunctionalityTests/BundleC/BundleC.wixproj b/src/TestData/BasicFunctionalityTests/BundleC/BundleC.wixproj new file mode 100644 index 00000000..104a6003 --- /dev/null +++ b/src/TestData/BasicFunctionalityTests/BundleC/BundleC.wixproj | |||
@@ -0,0 +1,20 @@ | |||
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 | <Project Sdk="WixToolset.Sdk"> | ||
3 | <PropertyGroup> | ||
4 | <OutputType>Bundle</OutputType> | ||
5 | <BA>TestBAdnc</BA> | ||
6 | <UpgradeCode>{DD790BAA-FE9F-4B0D-8AF4-DE4E1D674637}</UpgradeCode> | ||
7 | </PropertyGroup> | ||
8 | <ItemGroup> | ||
9 | <Compile Include="..\..\Templates\Bundle.wxs" Link="Bundle.wxs" /> | ||
10 | <Compile Include="..\BundleA\BundleA.wxs" Link="BundleC.wxs" /> | ||
11 | </ItemGroup> | ||
12 | <ItemGroup> | ||
13 | <ProjectReference Include="..\PackageA\PackageA.wixproj" /> | ||
14 | <ProjectReference Include="..\..\TestBA\TestBAWixlib\testbawixlib.wixproj" /> | ||
15 | </ItemGroup> | ||
16 | <ItemGroup> | ||
17 | <PackageReference Include="WixToolset.Bal.wixext" Version="4.0.101" /> | ||
18 | <PackageReference Include="WixToolset.NetFx.wixext" Version="4.0.73" /> | ||
19 | </ItemGroup> | ||
20 | </Project> \ No newline at end of file | ||
diff --git a/src/TestData/BasicFunctionalityTests/BundleC_x64/BundleC_x64.wixproj b/src/TestData/BasicFunctionalityTests/BundleC_x64/BundleC_x64.wixproj new file mode 100644 index 00000000..aef5e18e --- /dev/null +++ b/src/TestData/BasicFunctionalityTests/BundleC_x64/BundleC_x64.wixproj | |||
@@ -0,0 +1,22 @@ | |||
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 | <Project Sdk="WixToolset.Sdk"> | ||
3 | <PropertyGroup> | ||
4 | <OutputType>Bundle</OutputType> | ||
5 | <BA>TestBAdnc_x64</BA> | ||
6 | <UpgradeCode>{638D31D0-92BA-4BCD-82F0-7F549820D9AB}</UpgradeCode> | ||
7 | <InstallerPlatform>x64</InstallerPlatform> | ||
8 | <SuppressSpecificWarnings>1154;$(SuppressSpecificWarnings)</SuppressSpecificWarnings> | ||
9 | </PropertyGroup> | ||
10 | <ItemGroup> | ||
11 | <Compile Include="..\..\Templates\Bundle.wxs" Link="Bundle.wxs" /> | ||
12 | <Compile Include="..\BundleA_x64\BundleA_x64.wxs" Link="BundleC_x64.wxs" /> | ||
13 | </ItemGroup> | ||
14 | <ItemGroup> | ||
15 | <ProjectReference Include="..\PackageA_x64\PackageA_x64.wixproj" /> | ||
16 | <ProjectReference Include="..\..\TestBA\TestBAWixlib_x64\testbawixlib_x64.wixproj" /> | ||
17 | </ItemGroup> | ||
18 | <ItemGroup> | ||
19 | <PackageReference Include="WixToolset.Bal.wixext" Version="4.0.101" /> | ||
20 | <PackageReference Include="WixToolset.NetFx.wixext" Version="4.0.73" /> | ||
21 | </ItemGroup> | ||
22 | </Project> \ No newline at end of file | ||
diff --git a/src/TestData/BasicFunctionalityTests/PackageA_x64/PackageA_x64.wixproj b/src/TestData/BasicFunctionalityTests/PackageA_x64/PackageA_x64.wixproj new file mode 100644 index 00000000..8dbab284 --- /dev/null +++ b/src/TestData/BasicFunctionalityTests/PackageA_x64/PackageA_x64.wixproj | |||
@@ -0,0 +1,10 @@ | |||
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 | <Project Sdk="WixToolset.Sdk"> | ||
3 | <PropertyGroup> | ||
4 | <CabPrefix>a_x64</CabPrefix> | ||
5 | <UpgradeCode>{BDB9EF6A-B2DE-4929-9BE3-0CD71BDAEF6E}</UpgradeCode> | ||
6 | </PropertyGroup> | ||
7 | <ItemGroup> | ||
8 | <Compile Include="..\..\Templates\Package.wxs" Link="Package.wxs" /> | ||
9 | </ItemGroup> | ||
10 | </Project> \ No newline at end of file | ||
diff --git a/src/TestData/Templates/Bundle.wxs b/src/TestData/Templates/Bundle.wxs index c77bfbd7..06409504 100644 --- a/src/TestData/Templates/Bundle.wxs +++ b/src/TestData/Templates/Bundle.wxs | |||
@@ -18,6 +18,10 @@ | |||
18 | <!-- pulled in through the PackageGroupRef below --> | 18 | <!-- pulled in through the PackageGroupRef below --> |
19 | <?elseif $(var.BA) = "TestBAdnc"?> | 19 | <?elseif $(var.BA) = "TestBAdnc"?> |
20 | <!-- pulled in through the PackageGroupRef below --> | 20 | <!-- pulled in through the PackageGroupRef below --> |
21 | <?elseif $(var.BA) = "TestBA_x64"?> | ||
22 | <!-- pulled in through the PackageGroupRef below --> | ||
23 | <?elseif $(var.BA) = "TestBAdnc_x64"?> | ||
24 | <!-- pulled in through the PackageGroupRef below --> | ||
21 | <?elseif $(var.BA) = "hyperlinkLicense"?> | 25 | <?elseif $(var.BA) = "hyperlinkLicense"?> |
22 | <BootstrapperApplication> | 26 | <BootstrapperApplication> |
23 | <bal:WixStandardBootstrapperApplication LicenseUrl="" Theme="hyperlinkLicense" /> | 27 | <bal:WixStandardBootstrapperApplication LicenseUrl="" Theme="hyperlinkLicense" /> |
@@ -31,6 +35,10 @@ | |||
31 | <PackageGroupRef Id="TestBA" /> | 35 | <PackageGroupRef Id="TestBA" /> |
32 | <?elseif $(var.BA) = "TestBAdnc"?> | 36 | <?elseif $(var.BA) = "TestBAdnc"?> |
33 | <PackageGroupRef Id="TestBAdnc" /> | 37 | <PackageGroupRef Id="TestBAdnc" /> |
38 | <?elseif $(var.BA) = "TestBA_x64"?> | ||
39 | <PackageGroupRef Id="TestBA_x64" /> | ||
40 | <?elseif $(var.BA) = "TestBAdnc_x64"?> | ||
41 | <PackageGroupRef Id="TestBAdnc_x64" /> | ||
34 | <?endif?> | 42 | <?endif?> |
35 | 43 | ||
36 | <PackageGroupRef Id="BundlePackages" /> | 44 | <PackageGroupRef Id="BundlePackages" /> |
diff --git a/src/TestData/Templates/Package.wxs b/src/TestData/Templates/Package.wxs index e2aaa079..48ed5e02 100644 --- a/src/TestData/Templates/Package.wxs +++ b/src/TestData/Templates/Package.wxs | |||
@@ -35,7 +35,7 @@ | |||
35 | </Package> | 35 | </Package> |
36 | 36 | ||
37 | <Fragment> | 37 | <Fragment> |
38 | <StandardDirectory Id="ProgramFilesFolder"> | 38 | <StandardDirectory Id="ProgramFiles6432Folder"> |
39 | <Directory Id="WixDir" Name="~Test WiX"> | 39 | <Directory Id="WixDir" Name="~Test WiX"> |
40 | <Directory Id="TestDir" Name="$(var.TestGroupName)"> | 40 | <Directory Id="TestDir" Name="$(var.TestGroupName)"> |
41 | <Directory Id="INSTALLFOLDER" Name="$(var.PackageName)" /> | 41 | <Directory Id="INSTALLFOLDER" Name="$(var.PackageName)" /> |
diff --git a/src/TestData/TestBA/TestBAWixlib_x64/TestBA_x64.wxs b/src/TestData/TestBA/TestBAWixlib_x64/TestBA_x64.wxs new file mode 100644 index 00000000..078f4f01 --- /dev/null +++ b/src/TestData/TestBA/TestBAWixlib_x64/TestBA_x64.wxs | |||
@@ -0,0 +1,30 @@ | |||
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" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal"> | ||
3 | <Fragment> | ||
4 | <BootstrapperApplication> | ||
5 | <Payload SourceFile="!(bindpath.dnc5x64)\TestBA.deps.json" /> | ||
6 | <Payload SourceFile="!(bindpath.dnc5x64)\TestBA.dll" bal:BAFactoryAssembly="yes" /> | ||
7 | <Payload SourceFile="!(bindpath.dnc5x64)\TestBA.runtimeconfig.json" /> | ||
8 | <Payload SourceFile="!(bindpath.dnc5x64)\mbanative.dll" /> | ||
9 | <Payload SourceFile="!(bindpath.dnc5x64)\WixToolset.Mba.Core.dll" /> | ||
10 | <bal:WixDotNetCoreBootstrapperApplicationHost /> | ||
11 | </BootstrapperApplication> | ||
12 | |||
13 | <PackageGroup Id="TestBAdnc_x64"> | ||
14 | <PackageGroupRef Id="NetFx48WebAsPrereq" /> <!-- Yes, this is wrong but we don't have .NET 5 packages yet --> | ||
15 | </PackageGroup> | ||
16 | </Fragment> | ||
17 | <Fragment> | ||
18 | <BootstrapperApplication> | ||
19 | <Payload Name="WixToolset.Mba.Host.config" SourceFile="!(bindpath.net2x64)\TestBA.BootstrapperCore.config" /> | ||
20 | <Payload SourceFile="!(bindpath.net2x64)\TestBA.dll" /> | ||
21 | <Payload SourceFile="!(bindpath.net2x64)\mbanative.dll" /> | ||
22 | <Payload SourceFile="!(bindpath.net2x64)\WixToolset.Mba.Core.dll" /> | ||
23 | <bal:WixManagedBootstrapperApplicationHost /> | ||
24 | </BootstrapperApplication> | ||
25 | |||
26 | <PackageGroup Id="TestBA_x64"> | ||
27 | <PackageGroupRef Id="NetFx48WebAsPrereq" /> | ||
28 | </PackageGroup> | ||
29 | </Fragment> | ||
30 | </Wix> | ||
diff --git a/src/TestData/TestBA/TestBAWixlib_x64/TestExe_x64.wxs b/src/TestData/TestBA/TestBAWixlib_x64/TestExe_x64.wxs new file mode 100644 index 00000000..02bed038 --- /dev/null +++ b/src/TestData/TestBA/TestBAWixlib_x64/TestExe_x64.wxs | |||
@@ -0,0 +1,9 @@ | |||
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"> | ||
3 | <Fragment> | ||
4 | <PayloadGroup Id="TestExePayloads_x64"> | ||
5 | <ExePackagePayload SourceFile="!(bindpath.net2x64)\TestExe.exe" /> | ||
6 | <Payload SourceFile="!(bindpath.net2x64)\TestExe.exe.config" /> | ||
7 | </PayloadGroup> | ||
8 | </Fragment> | ||
9 | </Wix> | ||
diff --git a/src/TestData/TestBA/TestBAWixlib_x64/testbawixlib_x64.wixproj b/src/TestData/TestBA/TestBAWixlib_x64/testbawixlib_x64.wixproj new file mode 100644 index 00000000..9b7d3c17 --- /dev/null +++ b/src/TestData/TestBA/TestBAWixlib_x64/testbawixlib_x64.wixproj | |||
@@ -0,0 +1,20 @@ | |||
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 | <Project Sdk="WixToolset.Sdk"> | ||
3 | <PropertyGroup> | ||
4 | <OutputType>Library</OutputType> | ||
5 | <BindFiles>true</BindFiles> | ||
6 | <Cultures>en-us</Cultures> | ||
7 | <InstallerPlatform>x64</InstallerPlatform> | ||
8 | </PropertyGroup> | ||
9 | <ItemGroup> | ||
10 | <BindInputPaths Include="$(BaseOutputPath)$(Configuration)\net35\win-x64" BindName="net2x64" /> | ||
11 | <BindInputPaths Include="$(BaseOutputPath)$(Configuration)\net5.0-windows\win-x64" BindName="dnc5x64" /> | ||
12 | </ItemGroup> | ||
13 | <ItemGroup> | ||
14 | <ProjectReference Include="..\..\..\TestBA\TestBA_x64.csproj" /> | ||
15 | <ProjectReference Include="..\..\..\TestExe\TestExe_x64.csproj" /> | ||
16 | </ItemGroup> | ||
17 | <ItemGroup> | ||
18 | <PackageReference Include="WixToolset.Bal.wixext" Version="4.0.101" /> | ||
19 | </ItemGroup> | ||
20 | </Project> \ No newline at end of file | ||
diff --git a/src/TestExe/TestExe_x64.csproj b/src/TestExe/TestExe_x64.csproj new file mode 100644 index 00000000..1dd2d8e6 --- /dev/null +++ b/src/TestExe/TestExe_x64.csproj | |||
@@ -0,0 +1,17 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!-- 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. --> | ||
3 | |||
4 | <Project Sdk="Microsoft.NET.Sdk"> | ||
5 | <PropertyGroup> | ||
6 | <TargetFrameworks>net35</TargetFrameworks> | ||
7 | <AssemblyName>TestExe</AssemblyName> | ||
8 | <RootNamespace>TestExe</RootNamespace> | ||
9 | <OutputType>Exe</OutputType> | ||
10 | <DebugType>embedded</DebugType> | ||
11 | <RuntimeIdentifier>win-x64</RuntimeIdentifier> | ||
12 | </PropertyGroup> | ||
13 | |||
14 | <ItemGroup> | ||
15 | <Reference Include="System.Management" /> | ||
16 | </ItemGroup> | ||
17 | </Project> \ No newline at end of file | ||
diff --git a/src/WixTestTools/BundleRegistration.cs b/src/WixTestTools/BundleRegistration.cs index bf9e2903..75660838 100644 --- a/src/WixTestTools/BundleRegistration.cs +++ b/src/WixTestTools/BundleRegistration.cs | |||
@@ -88,9 +88,10 @@ namespace WixTestTools | |||
88 | 88 | ||
89 | public string Version { get; set; } | 89 | public string Version { get; set; } |
90 | 90 | ||
91 | public static bool TryGetPerMachineBundleRegistrationById(string bundleId, out BundleRegistration registration) | 91 | public static bool TryGetPerMachineBundleRegistrationById(string bundleId, bool x64, out BundleRegistration registration) |
92 | { | 92 | { |
93 | var registrationKeyPath = $"{BURN_REGISTRATION_REGISTRY_UNINSTALL_KEY_WOW6432NODE}\\{bundleId}"; | 93 | var baseKeyPath = x64 ? BURN_REGISTRATION_REGISTRY_UNINSTALL_KEY : BURN_REGISTRATION_REGISTRY_UNINSTALL_KEY_WOW6432NODE; |
94 | var registrationKeyPath = $"{baseKeyPath}\\{bundleId}"; | ||
94 | using var registrationKey = Registry.LocalMachine.OpenSubKey(registrationKeyPath); | 95 | using var registrationKey = Registry.LocalMachine.OpenSubKey(registrationKeyPath); |
95 | var success = registrationKey != null; | 96 | var success = registrationKey != null; |
96 | registration = success ? GetBundleRegistration(registrationKey) : null; | 97 | registration = success ? GetBundleRegistration(registrationKey) : null; |
diff --git a/src/WixTestTools/BundleVerifier.cs b/src/WixTestTools/BundleVerifier.cs index 293da560..984df169 100644 --- a/src/WixTestTools/BundleVerifier.cs +++ b/src/WixTestTools/BundleVerifier.cs | |||
@@ -73,10 +73,11 @@ namespace WixTestTools | |||
73 | public bool TryGetRegistration(out BundleRegistration registration) | 73 | public bool TryGetRegistration(out BundleRegistration registration) |
74 | { | 74 | { |
75 | var bundleSymbol = this.GetBundleSymbol(); | 75 | var bundleSymbol = this.GetBundleSymbol(); |
76 | var x64 = bundleSymbol.Platform != Platform.X86; | ||
76 | var bundleId = bundleSymbol.BundleId; | 77 | var bundleId = bundleSymbol.BundleId; |
77 | if (bundleSymbol.PerMachine) | 78 | if (bundleSymbol.PerMachine) |
78 | { | 79 | { |
79 | return BundleRegistration.TryGetPerMachineBundleRegistrationById(bundleId, out registration); | 80 | return BundleRegistration.TryGetPerMachineBundleRegistrationById(bundleId, x64, out registration); |
80 | } | 81 | } |
81 | else | 82 | else |
82 | { | 83 | { |
@@ -132,9 +133,9 @@ namespace WixTestTools | |||
132 | Assert.True(Directory.Exists(cachePath)); | 133 | Assert.True(Directory.Exists(cachePath)); |
133 | } | 134 | } |
134 | 135 | ||
135 | public void VerifyExeTestRegistryRootDeleted(string name) | 136 | public void VerifyExeTestRegistryRootDeleted(string name, bool x64 = false) |
136 | { | 137 | { |
137 | using var testRegistryRoot = this.TestContext.GetTestRegistryRoot(name); | 138 | using var testRegistryRoot = this.TestContext.GetTestRegistryRoot(x64, name); |
138 | if (testRegistryRoot != null) | 139 | if (testRegistryRoot != null) |
139 | { | 140 | { |
140 | var actualValue = testRegistryRoot.GetValue("Version") as string; | 141 | var actualValue = testRegistryRoot.GetValue("Version") as string; |
@@ -142,9 +143,9 @@ namespace WixTestTools | |||
142 | } | 143 | } |
143 | } | 144 | } |
144 | 145 | ||
145 | public void VerifyExeTestRegistryValue(string name, string expectedValue) | 146 | public void VerifyExeTestRegistryValue(string name, string expectedValue, bool x64 = false) |
146 | { | 147 | { |
147 | using (var root = this.TestContext.GetTestRegistryRoot(name)) | 148 | using (var root = this.TestContext.GetTestRegistryRoot(x64, name)) |
148 | { | 149 | { |
149 | Assert.NotNull(root); | 150 | Assert.NotNull(root); |
150 | var actualValue = root.GetValue("Version") as string; | 151 | var actualValue = root.GetValue("Version") as string; |
diff --git a/src/WixTestTools/PackageInstaller.cs b/src/WixTestTools/PackageInstaller.cs index 86376b9f..d32f499b 100644 --- a/src/WixTestTools/PackageInstaller.cs +++ b/src/WixTestTools/PackageInstaller.cs | |||
@@ -4,6 +4,10 @@ namespace WixTestTools | |||
4 | { | 4 | { |
5 | using System; | 5 | using System; |
6 | using System.IO; | 6 | using System.IO; |
7 | using System.Linq; | ||
8 | using WixToolset.Data; | ||
9 | using WixToolset.Data.Symbols; | ||
10 | using WixToolset.Data.WindowsInstaller; | ||
7 | using static WixTestTools.MSIExec; | 11 | using static WixTestTools.MSIExec; |
8 | 12 | ||
9 | public partial class PackageInstaller : IDisposable | 13 | public partial class PackageInstaller : IDisposable |
@@ -13,6 +17,16 @@ namespace WixTestTools | |||
13 | this.Package = Path.Combine(testContext.TestDataFolder, $"{filename}.msi"); | 17 | this.Package = Path.Combine(testContext.TestDataFolder, $"{filename}.msi"); |
14 | this.PackagePdb = Path.Combine(testContext.TestDataFolder, $"{filename}.wixpdb"); | 18 | this.PackagePdb = Path.Combine(testContext.TestDataFolder, $"{filename}.wixpdb"); |
15 | this.TestContext = testContext; | 19 | this.TestContext = testContext; |
20 | |||
21 | using var wixOutput = WixOutput.Read(this.PackagePdb); | ||
22 | |||
23 | var intermediate = Intermediate.Load(wixOutput); | ||
24 | var section = intermediate.Sections.Single(); | ||
25 | var platformSummary = section.Symbols.OfType<SummaryInformationSymbol>().Single(s => s.PropertyId == SummaryInformationType.PlatformAndLanguage); | ||
26 | var platformString = platformSummary.Value.Split(new char[] { ';' }, 2)[0]; | ||
27 | this.IsX64 = platformString != "Intel"; | ||
28 | |||
29 | this.WiData = WindowsInstallerData.Load(wixOutput); | ||
16 | } | 30 | } |
17 | 31 | ||
18 | public string Package { get; } | 32 | public string Package { get; } |
diff --git a/src/WixTestTools/PackageVerifier.cs b/src/WixTestTools/PackageVerifier.cs index 073e83b0..2f42dd21 100644 --- a/src/WixTestTools/PackageVerifier.cs +++ b/src/WixTestTools/PackageVerifier.cs | |||
@@ -5,7 +5,6 @@ namespace WixTestTools | |||
5 | using System; | 5 | using System; |
6 | using System.IO; | 6 | using System.IO; |
7 | using System.Linq; | 7 | using System.Linq; |
8 | using WixToolset.Data; | ||
9 | using WixToolset.Data.WindowsInstaller; | 8 | using WixToolset.Data.WindowsInstaller; |
10 | using WixToolset.Data.WindowsInstaller.Rows; | 9 | using WixToolset.Data.WindowsInstaller.Rows; |
11 | using Xunit; | 10 | using Xunit; |
@@ -14,28 +13,18 @@ namespace WixTestTools | |||
14 | { | 13 | { |
15 | public string PackagePdb { get; } | 14 | public string PackagePdb { get; } |
16 | 15 | ||
17 | private WindowsInstallerData WiData { get; set; } | 16 | private bool IsX64 { get; } |
18 | 17 | ||
19 | public string GetInstalledFilePath(string filename) | 18 | private WindowsInstallerData WiData { get; } |
20 | { | ||
21 | return this.TestContext.GetTestInstallFolder(Path.Combine(this.GetInstallFolderName(), filename)); | ||
22 | } | ||
23 | 19 | ||
24 | private WindowsInstallerData GetWindowsInstallerData() | 20 | public string GetInstalledFilePath(string filename) |
25 | { | 21 | { |
26 | if (this.WiData == null) | 22 | return this.TestContext.GetTestInstallFolder(this.IsX64, Path.Combine(this.GetInstallFolderName(), filename)); |
27 | { | ||
28 | using var wixOutput = WixOutput.Read(this.PackagePdb); | ||
29 | this.WiData = WindowsInstallerData.Load(wixOutput); | ||
30 | } | ||
31 | |||
32 | return this.WiData; | ||
33 | } | 23 | } |
34 | 24 | ||
35 | public string GetInstallFolderName() | 25 | public string GetInstallFolderName() |
36 | { | 26 | { |
37 | var wiData = this.GetWindowsInstallerData(); | 27 | var row = this.WiData.Tables["Directory"].Rows.Single(r => r.FieldAsString(0) == "INSTALLFOLDER"); |
38 | var row = wiData.Tables["Directory"].Rows.Single(r => r.FieldAsString(0) == "INSTALLFOLDER"); | ||
39 | var value = row.FieldAsString(2); | 28 | var value = row.FieldAsString(2); |
40 | var longNameIndex = value.IndexOf('|') + 1; | 29 | var longNameIndex = value.IndexOf('|') + 1; |
41 | if (longNameIndex > 0) | 30 | if (longNameIndex > 0) |
@@ -47,8 +36,7 @@ namespace WixTestTools | |||
47 | 36 | ||
48 | public string GetProperty(string name) | 37 | public string GetProperty(string name) |
49 | { | 38 | { |
50 | var wiData = this.GetWindowsInstallerData(); | 39 | var row = this.WiData.Tables["Property"].Rows.Cast<PropertyRow>().Single(r => r.Property == name); |
51 | var row = wiData.Tables["Property"].Rows.Cast<PropertyRow>().Single(r => r.Property == name); | ||
52 | return row.Value; | 40 | return row.Value; |
53 | } | 41 | } |
54 | 42 | ||
@@ -67,7 +55,7 @@ namespace WixTestTools | |||
67 | 55 | ||
68 | public void DeleteTestRegistryValue(string name) | 56 | public void DeleteTestRegistryValue(string name) |
69 | { | 57 | { |
70 | using (var root = this.TestContext.GetTestRegistryRoot()) | 58 | using (var root = this.TestContext.GetTestRegistryRoot(this.IsX64)) |
71 | { | 59 | { |
72 | Assert.NotNull(root); | 60 | Assert.NotNull(root); |
73 | root.DeleteValue(name); | 61 | root.DeleteValue(name); |
@@ -76,13 +64,13 @@ namespace WixTestTools | |||
76 | 64 | ||
77 | public void VerifyTestRegistryRootDeleted() | 65 | public void VerifyTestRegistryRootDeleted() |
78 | { | 66 | { |
79 | using var testRegistryRoot = this.TestContext.GetTestRegistryRoot(); | 67 | using var testRegistryRoot = this.TestContext.GetTestRegistryRoot(this.IsX64); |
80 | Assert.Null(testRegistryRoot); | 68 | Assert.Null(testRegistryRoot); |
81 | } | 69 | } |
82 | 70 | ||
83 | public void VerifyTestRegistryValue(string name, string expectedValue) | 71 | public void VerifyTestRegistryValue(string name, string expectedValue) |
84 | { | 72 | { |
85 | using (var root = this.TestContext.GetTestRegistryRoot()) | 73 | using (var root = this.TestContext.GetTestRegistryRoot(this.IsX64)) |
86 | { | 74 | { |
87 | Assert.NotNull(root); | 75 | Assert.NotNull(root); |
88 | var actualValue = root.GetValue(name) as string; | 76 | var actualValue = root.GetValue(name) as string; |
diff --git a/src/WixTestTools/WixTestContext.cs b/src/WixTestTools/WixTestContext.cs index c00f5723..a4e666f1 100644 --- a/src/WixTestTools/WixTestContext.cs +++ b/src/WixTestTools/WixTestContext.cs | |||
@@ -42,9 +42,10 @@ namespace WixTestTools | |||
42 | /// <remarks> | 42 | /// <remarks> |
43 | /// The package or bundle must install into [ProgramFilesFolder]\~Test WiX\[TestGroupName]\([Additional]). | 43 | /// The package or bundle must install into [ProgramFilesFolder]\~Test WiX\[TestGroupName]\([Additional]). |
44 | /// </remarks> | 44 | /// </remarks> |
45 | public string GetTestInstallFolder(string additionalPath = null) | 45 | public string GetTestInstallFolder(bool x64, string additionalPath = null) |
46 | { | 46 | { |
47 | return Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86), "~Test WiX", this.TestGroupName, additionalPath ?? String.Empty); | 47 | var baseDirectory = x64 ? Environment.SpecialFolder.ProgramFiles : Environment.SpecialFolder.ProgramFilesX86; |
48 | return Path.Combine(Environment.GetFolderPath(baseDirectory), "~Test WiX", this.TestGroupName, additionalPath ?? String.Empty); | ||
48 | } | 49 | } |
49 | 50 | ||
50 | /// <summary> | 51 | /// <summary> |
@@ -55,9 +56,10 @@ namespace WixTestTools | |||
55 | /// <remarks> | 56 | /// <remarks> |
56 | /// The package must write into HKLM\Software\WiX\Tests\[TestGroupName]\([Additional]). | 57 | /// The package must write into HKLM\Software\WiX\Tests\[TestGroupName]\([Additional]). |
57 | /// </remarks> | 58 | /// </remarks> |
58 | public RegistryKey GetTestRegistryRoot(string additionalPath = null) | 59 | public RegistryKey GetTestRegistryRoot(bool x64, string additionalPath = null) |
59 | { | 60 | { |
60 | var key = String.Format(@"Software\WOW6432Node\WiX\Tests\{0}\{1}", this.TestGroupName, additionalPath ?? String.Empty); | 61 | var baseKey = x64 ? "Software" : @"Software\WOW6432Node"; |
62 | var key = String.Format(@"{0}\WiX\Tests\{1}\{2}", baseKey, this.TestGroupName, additionalPath ?? String.Empty); | ||
61 | return Registry.LocalMachine.OpenSubKey(key, true); | 63 | return Registry.LocalMachine.OpenSubKey(key, true); |
62 | } | 64 | } |
63 | 65 | ||
diff --git a/src/WixToolsetTest.BurnE2E/BasicFunctionalityTests.cs b/src/WixToolsetTest.BurnE2E/BasicFunctionalityTests.cs index edd8536b..5df86fff 100644 --- a/src/WixToolsetTest.BurnE2E/BasicFunctionalityTests.cs +++ b/src/WixToolsetTest.BurnE2E/BasicFunctionalityTests.cs | |||
@@ -12,7 +12,7 @@ namespace WixToolsetTest.BurnE2E | |||
12 | public BasicFunctionalityTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } | 12 | public BasicFunctionalityTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } |
13 | 13 | ||
14 | [Fact] | 14 | [Fact] |
15 | public void CanInstallAndUninstallSimpleBundle() | 15 | public void CanInstallAndUninstallSimpleBundle_x86_wixstdba() |
16 | { | 16 | { |
17 | var packageA = this.CreatePackageInstaller("PackageA"); | 17 | var packageA = this.CreatePackageInstaller("PackageA"); |
18 | 18 | ||
@@ -37,5 +37,140 @@ namespace WixToolsetTest.BurnE2E | |||
37 | 37 | ||
38 | bundleA.VerifyUnregisteredAndRemovedFromPackageCache(cachedBundlePath); | 38 | bundleA.VerifyUnregisteredAndRemovedFromPackageCache(cachedBundlePath); |
39 | } | 39 | } |
40 | |||
41 | [Fact] | ||
42 | public void CanInstallAndUninstallSimpleBundle_x86_testba() | ||
43 | { | ||
44 | var packageA = this.CreatePackageInstaller("PackageA"); | ||
45 | |||
46 | var bundleB = this.CreateBundleInstaller("BundleB"); | ||
47 | |||
48 | var packageASourceCodeInstalled = packageA.GetInstalledFilePath("Package.wxs"); | ||
49 | |||
50 | // Source file should *not* be installed | ||
51 | Assert.False(File.Exists(packageASourceCodeInstalled), $"Package A payload should not be there on test start: {packageASourceCodeInstalled}"); | ||
52 | |||
53 | bundleB.Install(); | ||
54 | |||
55 | var cachedBundlePath = bundleB.VerifyRegisteredAndInPackageCache(); | ||
56 | |||
57 | // Source file should be installed | ||
58 | Assert.True(File.Exists(packageASourceCodeInstalled), String.Concat("Should have found Package A payload installed at: ", packageASourceCodeInstalled)); | ||
59 | |||
60 | bundleB.Uninstall(cachedBundlePath); | ||
61 | |||
62 | // Source file should *not* be installed | ||
63 | Assert.False(File.Exists(packageASourceCodeInstalled), String.Concat("Package A payload should have been removed by uninstall from: ", packageASourceCodeInstalled)); | ||
64 | |||
65 | bundleB.VerifyUnregisteredAndRemovedFromPackageCache(cachedBundlePath); | ||
66 | } | ||
67 | |||
68 | [Fact] | ||
69 | public void CanInstallAndUninstallSimpleBundle_x86_dnctestba() | ||
70 | { | ||
71 | var packageA = this.CreatePackageInstaller("PackageA"); | ||
72 | |||
73 | var bundleC = this.CreateBundleInstaller("BundleC"); | ||
74 | |||
75 | var packageASourceCodeInstalled = packageA.GetInstalledFilePath("Package.wxs"); | ||
76 | |||
77 | // Source file should *not* be installed | ||
78 | Assert.False(File.Exists(packageASourceCodeInstalled), $"Package A payload should not be there on test start: {packageASourceCodeInstalled}"); | ||
79 | |||
80 | bundleC.Install(); | ||
81 | |||
82 | var cachedBundlePath = bundleC.VerifyRegisteredAndInPackageCache(); | ||
83 | |||
84 | // Source file should be installed | ||
85 | Assert.True(File.Exists(packageASourceCodeInstalled), String.Concat("Should have found Package A payload installed at: ", packageASourceCodeInstalled)); | ||
86 | |||
87 | bundleC.Uninstall(cachedBundlePath); | ||
88 | |||
89 | // Source file should *not* be installed | ||
90 | Assert.False(File.Exists(packageASourceCodeInstalled), String.Concat("Package A payload should have been removed by uninstall from: ", packageASourceCodeInstalled)); | ||
91 | |||
92 | bundleC.VerifyUnregisteredAndRemovedFromPackageCache(cachedBundlePath); | ||
93 | } | ||
94 | |||
95 | [Fact] | ||
96 | public void CanInstallAndUninstallSimpleBundle_x64_wixstdba() | ||
97 | { | ||
98 | var packageA_x64 = this.CreatePackageInstaller("PackageA_x64"); | ||
99 | |||
100 | var bundleA_x64 = this.CreateBundleInstaller("BundleA_x64"); | ||
101 | |||
102 | var packageASourceCodeInstalled = packageA_x64.GetInstalledFilePath("Package.wxs"); | ||
103 | |||
104 | // Source file should *not* be installed | ||
105 | Assert.False(File.Exists(packageASourceCodeInstalled), $"Package A x64 payload should not be there on test start: {packageASourceCodeInstalled}"); | ||
106 | |||
107 | bundleA_x64.Install(); | ||
108 | |||
109 | var cachedBundlePath = bundleA_x64.VerifyRegisteredAndInPackageCache(); | ||
110 | |||
111 | // Source file should be installed | ||
112 | Assert.True(File.Exists(packageASourceCodeInstalled), String.Concat("Should have found Package A x64 payload installed at: ", packageASourceCodeInstalled)); | ||
113 | |||
114 | bundleA_x64.Uninstall(cachedBundlePath); | ||
115 | |||
116 | // Source file should *not* be installed | ||
117 | Assert.False(File.Exists(packageASourceCodeInstalled), String.Concat("Package A x64 payload should have been removed by uninstall from: ", packageASourceCodeInstalled)); | ||
118 | |||
119 | bundleA_x64.VerifyUnregisteredAndRemovedFromPackageCache(cachedBundlePath); | ||
120 | } | ||
121 | |||
122 | [Fact] | ||
123 | public void CanInstallAndUninstallSimpleBundle_x64_testba() | ||
124 | { | ||
125 | var packageA_x64 = this.CreatePackageInstaller("PackageA_x64"); | ||
126 | |||
127 | var bundleB_x64 = this.CreateBundleInstaller("BundleB_x64"); | ||
128 | |||
129 | var packageASourceCodeInstalled = packageA_x64.GetInstalledFilePath("Package.wxs"); | ||
130 | |||
131 | // Source file should *not* be installed | ||
132 | Assert.False(File.Exists(packageASourceCodeInstalled), $"Package A x64 payload should not be there on test start: {packageASourceCodeInstalled}"); | ||
133 | |||
134 | bundleB_x64.Install(); | ||
135 | |||
136 | var cachedBundlePath = bundleB_x64.VerifyRegisteredAndInPackageCache(); | ||
137 | |||
138 | // Source file should be installed | ||
139 | Assert.True(File.Exists(packageASourceCodeInstalled), String.Concat("Should have found Package A x64 payload installed at: ", packageASourceCodeInstalled)); | ||
140 | |||
141 | bundleB_x64.Uninstall(cachedBundlePath); | ||
142 | |||
143 | // Source file should *not* be installed | ||
144 | Assert.False(File.Exists(packageASourceCodeInstalled), String.Concat("Package A x64 payload should have been removed by uninstall from: ", packageASourceCodeInstalled)); | ||
145 | |||
146 | bundleB_x64.VerifyUnregisteredAndRemovedFromPackageCache(cachedBundlePath); | ||
147 | } | ||
148 | |||
149 | [Fact] | ||
150 | public void CanInstallAndUninstallSimpleBundle_x64_dnctestba() | ||
151 | { | ||
152 | var packageA_x64 = this.CreatePackageInstaller("PackageA_x64"); | ||
153 | |||
154 | var bundleC_x64 = this.CreateBundleInstaller("BundleC_x64"); | ||
155 | |||
156 | var packageASourceCodeInstalled = packageA_x64.GetInstalledFilePath("Package.wxs"); | ||
157 | |||
158 | // Source file should *not* be installed | ||
159 | Assert.False(File.Exists(packageASourceCodeInstalled), $"Package A x64 payload should not be there on test start: {packageASourceCodeInstalled}"); | ||
160 | |||
161 | bundleC_x64.Install(); | ||
162 | |||
163 | var cachedBundlePath = bundleC_x64.VerifyRegisteredAndInPackageCache(); | ||
164 | |||
165 | // Source file should be installed | ||
166 | Assert.True(File.Exists(packageASourceCodeInstalled), String.Concat("Should have found Package A x64 payload installed at: ", packageASourceCodeInstalled)); | ||
167 | |||
168 | bundleC_x64.Uninstall(cachedBundlePath); | ||
169 | |||
170 | // Source file should *not* be installed | ||
171 | Assert.False(File.Exists(packageASourceCodeInstalled), String.Concat("Package A x64 payload should have been removed by uninstall from: ", packageASourceCodeInstalled)); | ||
172 | |||
173 | bundleC_x64.VerifyUnregisteredAndRemovedFromPackageCache(cachedBundlePath); | ||
174 | } | ||
40 | } | 175 | } |
41 | } | 176 | } |
diff --git a/src/WixToolsetTest.BurnE2E/TestBAController.cs b/src/WixToolsetTest.BurnE2E/TestBAController.cs index 103b603b..6e4fe6c6 100644 --- a/src/WixToolsetTest.BurnE2E/TestBAController.cs +++ b/src/WixToolsetTest.BurnE2E/TestBAController.cs | |||
@@ -9,14 +9,15 @@ namespace WixToolsetTest.BurnE2E | |||
9 | 9 | ||
10 | public class TestBAController : IDisposable | 10 | public class TestBAController : IDisposable |
11 | { | 11 | { |
12 | private const string BaseRegKeyPath = @"Software\WOW6432Node\WiX\Tests"; | 12 | public TestBAController(WixTestContext testContext, bool x64 = false) |
13 | |||
14 | public TestBAController(WixTestContext testContext) | ||
15 | { | 13 | { |
16 | this.TestGroupName = testContext.TestGroupName; | 14 | this.TestGroupName = testContext.TestGroupName; |
17 | this.TestBaseRegKeyPath = String.Format(@"{0}\TestBAControl\{1}", BaseRegKeyPath, this.TestGroupName); | 15 | this.BaseRegKeyPath = x64 ? @"Software\WiX\Tests" : @"Software\WOW6432Node\WiX\Tests"; |
16 | this.TestBaseRegKeyPath = String.Format(@"{0}\TestBAControl\{1}", this.BaseRegKeyPath, this.TestGroupName); | ||
18 | } | 17 | } |
19 | 18 | ||
19 | private string BaseRegKeyPath { get; } | ||
20 | |||
20 | private string TestBaseRegKeyPath { get; } | 21 | private string TestBaseRegKeyPath { get; } |
21 | 22 | ||
22 | public string TestGroupName { get; } | 23 | public string TestGroupName { get; } |
@@ -179,8 +180,8 @@ namespace WixToolsetTest.BurnE2E | |||
179 | 180 | ||
180 | public void Dispose() | 181 | public void Dispose() |
181 | { | 182 | { |
182 | Registry.LocalMachine.DeleteSubKeyTree($@"{BaseRegKeyPath}\{this.TestGroupName}", false); | 183 | Registry.LocalMachine.DeleteSubKeyTree($@"{this.BaseRegKeyPath}\{this.TestGroupName}", false); |
183 | Registry.LocalMachine.DeleteSubKeyTree($@"{BaseRegKeyPath}\TestBAControl", false); | 184 | Registry.LocalMachine.DeleteSubKeyTree($@"{this.BaseRegKeyPath}\TestBAControl", false); |
184 | } | 185 | } |
185 | } | 186 | } |
186 | } | 187 | } |