From 39b9a6112c2ff97f31f195749e2142538e47a2eb Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Fri, 1 Apr 2022 15:44:34 -0500 Subject: Detect related bundles for BundlePackages. --- .../UpgradeBundlePackageBundle.props | 14 ++++++++++ .../UpgradeBundlePackageBundlev1.wixproj | 7 +++++ .../UpgradeBundlePackageBundlev1.wxs | 10 ++++++++ .../UpgradeBundlePackageBundlev2.wixproj | 7 +++++ .../UpgradeBundlePackageBundlev2.wxs | 10 ++++++++ .../WixToolsetTest.BurnE2E/BundlePackageTests.cs | 30 ++++++++++++++++++++++ 6 files changed, 78 insertions(+) create mode 100644 src/test/burn/TestData/BundlePackageTests/UpgradeBundlePackageBundlev1/UpgradeBundlePackageBundle.props create mode 100644 src/test/burn/TestData/BundlePackageTests/UpgradeBundlePackageBundlev1/UpgradeBundlePackageBundlev1.wixproj create mode 100644 src/test/burn/TestData/BundlePackageTests/UpgradeBundlePackageBundlev1/UpgradeBundlePackageBundlev1.wxs create mode 100644 src/test/burn/TestData/BundlePackageTests/UpgradeBundlePackageBundlev2/UpgradeBundlePackageBundlev2.wixproj create mode 100644 src/test/burn/TestData/BundlePackageTests/UpgradeBundlePackageBundlev2/UpgradeBundlePackageBundlev2.wxs (limited to 'src/test') diff --git a/src/test/burn/TestData/BundlePackageTests/UpgradeBundlePackageBundlev1/UpgradeBundlePackageBundle.props b/src/test/burn/TestData/BundlePackageTests/UpgradeBundlePackageBundlev1/UpgradeBundlePackageBundle.props new file mode 100644 index 00000000..1c761dfc --- /dev/null +++ b/src/test/burn/TestData/BundlePackageTests/UpgradeBundlePackageBundlev1/UpgradeBundlePackageBundle.props @@ -0,0 +1,14 @@ + + + + Bundle + hyperlinkLicense + {B9636854-B76B-4171-B63D-7C659F61DE3D} + + + + + + + + diff --git a/src/test/burn/TestData/BundlePackageTests/UpgradeBundlePackageBundlev1/UpgradeBundlePackageBundlev1.wixproj b/src/test/burn/TestData/BundlePackageTests/UpgradeBundlePackageBundlev1/UpgradeBundlePackageBundlev1.wixproj new file mode 100644 index 00000000..e1e0d601 --- /dev/null +++ b/src/test/burn/TestData/BundlePackageTests/UpgradeBundlePackageBundlev1/UpgradeBundlePackageBundlev1.wixproj @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/src/test/burn/TestData/BundlePackageTests/UpgradeBundlePackageBundlev1/UpgradeBundlePackageBundlev1.wxs b/src/test/burn/TestData/BundlePackageTests/UpgradeBundlePackageBundlev1/UpgradeBundlePackageBundlev1.wxs new file mode 100644 index 00000000..ae70ebdb --- /dev/null +++ b/src/test/burn/TestData/BundlePackageTests/UpgradeBundlePackageBundlev1/UpgradeBundlePackageBundlev1.wxs @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/test/burn/TestData/BundlePackageTests/UpgradeBundlePackageBundlev2/UpgradeBundlePackageBundlev2.wixproj b/src/test/burn/TestData/BundlePackageTests/UpgradeBundlePackageBundlev2/UpgradeBundlePackageBundlev2.wixproj new file mode 100644 index 00000000..61247a66 --- /dev/null +++ b/src/test/burn/TestData/BundlePackageTests/UpgradeBundlePackageBundlev2/UpgradeBundlePackageBundlev2.wixproj @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/src/test/burn/TestData/BundlePackageTests/UpgradeBundlePackageBundlev2/UpgradeBundlePackageBundlev2.wxs b/src/test/burn/TestData/BundlePackageTests/UpgradeBundlePackageBundlev2/UpgradeBundlePackageBundlev2.wxs new file mode 100644 index 00000000..742881c7 --- /dev/null +++ b/src/test/burn/TestData/BundlePackageTests/UpgradeBundlePackageBundlev2/UpgradeBundlePackageBundlev2.wxs @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/test/burn/WixToolsetTest.BurnE2E/BundlePackageTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/BundlePackageTests.cs index 2e95aedb..1e6cda9c 100644 --- a/src/test/burn/WixToolsetTest.BurnE2E/BundlePackageTests.cs +++ b/src/test/burn/WixToolsetTest.BurnE2E/BundlePackageTests.cs @@ -45,7 +45,37 @@ namespace WixToolsetTest.BurnE2E // Source file should *not* be installed Assert.False(File.Exists(packageA32SourceCodeFilePath), $"PackageA payload should have been removed by uninstall from: {packageA32SourceCodeFilePath}"); Assert.False(File.Exists(packageA64SourceCodeFilePath), $"PackageA_x64 payload should have been removed by uninstall from: {packageA64SourceCodeFilePath}"); + } + + [Fact] + public void CanInstallUpgradeBundlePackage() + { + var bundleAv1 = this.CreateBundleInstaller(@"..\UpgradeRelatedBundleTests\BundleAv1"); + var bundleAv2 = this.CreateBundleInstaller(@"..\UpgradeRelatedBundleTests\BundleAv2"); + var upgradeBundlePackageBundlev2 = this.CreateBundleInstaller("UpgradeBundlePackageBundlev2"); + + bundleAv1.Install(); + bundleAv1.VerifyRegisteredAndInPackageCache(); + + upgradeBundlePackageBundlev2.Install(); + upgradeBundlePackageBundlev2.VerifyRegisteredAndInPackageCache(); + bundleAv2.VerifyRegisteredAndInPackageCache(); + bundleAv1.VerifyUnregisteredAndRemovedFromPackageCache(); + } + + [Fact] + public void CanSkipObsoleteBundlePackage() + { + var bundleAv1 = this.CreateBundleInstaller(@"..\UpgradeRelatedBundleTests\BundleAv1"); + var bundleAv2 = this.CreateBundleInstaller(@"..\UpgradeRelatedBundleTests\BundleAv2"); + var upgradeBundlePackageBundlev1 = this.CreateBundleInstaller("UpgradeBundlePackageBundlev1"); + + bundleAv2.Install(); + bundleAv2.VerifyRegisteredAndInPackageCache(); + upgradeBundlePackageBundlev1.Install(); + upgradeBundlePackageBundlev1.VerifyUnregisteredAndRemovedFromPackageCache(); + bundleAv1.VerifyUnregisteredAndRemovedFromPackageCache(); } } } -- cgit v1.2.3-55-g6feb