From 47bca2dc51525fcad86f325278b14953ac5b137e Mon Sep 17 00:00:00 2001 From: Bob Arnson Date: Sat, 15 Jan 2022 21:40:54 -0500 Subject: Fix 32/64-bit bitness handling in Burn and BUtil. - Take advantage of RegOpenEx. - Always look for related bundles in both 32 and 64 hives. - BundleEnumRelatedBundle requires caller to specify bitness. --- .../BundleAv1x64/BundleAv1x64.wixproj | 16 ++++++++++++++++ .../BundleAv1x64/BundleAv1x64.wxs | 10 ++++++++++ .../WixToolsetTest.BurnE2E/UpgradeRelatedBundleTests.cs | 17 +++++++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 src/test/burn/TestData/UpgradeRelatedBundleTests/BundleAv1x64/BundleAv1x64.wixproj create mode 100644 src/test/burn/TestData/UpgradeRelatedBundleTests/BundleAv1x64/BundleAv1x64.wxs (limited to 'src/test') diff --git a/src/test/burn/TestData/UpgradeRelatedBundleTests/BundleAv1x64/BundleAv1x64.wixproj b/src/test/burn/TestData/UpgradeRelatedBundleTests/BundleAv1x64/BundleAv1x64.wixproj new file mode 100644 index 00000000..44bf9772 --- /dev/null +++ b/src/test/burn/TestData/UpgradeRelatedBundleTests/BundleAv1x64/BundleAv1x64.wixproj @@ -0,0 +1,16 @@ + + + + + TestBA_x64 + X64 + + + + + + + + + + \ No newline at end of file diff --git a/src/test/burn/TestData/UpgradeRelatedBundleTests/BundleAv1x64/BundleAv1x64.wxs b/src/test/burn/TestData/UpgradeRelatedBundleTests/BundleAv1x64/BundleAv1x64.wxs new file mode 100644 index 00000000..7bf16212 --- /dev/null +++ b/src/test/burn/TestData/UpgradeRelatedBundleTests/BundleAv1x64/BundleAv1x64.wxs @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/test/burn/WixToolsetTest.BurnE2E/UpgradeRelatedBundleTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/UpgradeRelatedBundleTests.cs index a515ed69..6d81252e 100644 --- a/src/test/burn/WixToolsetTest.BurnE2E/UpgradeRelatedBundleTests.cs +++ b/src/test/burn/WixToolsetTest.BurnE2E/UpgradeRelatedBundleTests.cs @@ -49,5 +49,22 @@ namespace WixToolsetTest.BurnE2E bundleAv1.VerifyUnregisteredAndRemovedFromPackageCache(); } + + [Fact] + public void Bundle32UpgradesBundle64() + { + var packageAv1 = this.CreatePackageInstaller("PackageAv1"); + var packageAv2 = this.CreatePackageInstaller("PackageAv2"); + var bundleAv1x64 = this.CreateBundleInstaller("BundleAv1x64"); + var bundleAv2 = this.CreateBundleInstaller("BundleAv2"); + + bundleAv1x64.Install(); + bundleAv1x64.VerifyRegisteredAndInPackageCache(); + + bundleAv2.Install(); + bundleAv2.VerifyRegisteredAndInPackageCache(); + + bundleAv1x64.VerifyUnregisteredAndRemovedFromPackageCache(); + } } } -- cgit v1.2.3-55-g6feb