From 9453eaa9a38f78e248526ddd996485140a5d4d9a Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Sun, 13 Mar 2022 23:51:36 -0500 Subject: Make engine skip planning if there are any downgrade related bundles. Fixes 6677, 6722 Reverts 6537 --- .../burn/WixToolsetTest.BurnE2E/WixStdBaTests.cs | 55 ++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 src/test/burn/WixToolsetTest.BurnE2E/WixStdBaTests.cs (limited to 'src/test') diff --git a/src/test/burn/WixToolsetTest.BurnE2E/WixStdBaTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/WixStdBaTests.cs new file mode 100644 index 00000000..e3418cc1 --- /dev/null +++ b/src/test/burn/WixToolsetTest.BurnE2E/WixStdBaTests.cs @@ -0,0 +1,55 @@ +// 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. + +namespace WixToolsetTest.BurnE2E +{ + using WixTestTools; + using Xunit; + using Xunit.Abstractions; + + public class WixStdBaTests : BurnE2ETests + { + public WixStdBaTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } + + [Fact] + public void ExitsWithErrorWhenDowngradingWithoutSuppression() + { + var packageA = this.CreatePackageInstaller("PackageA"); + var bundle1v10 = this.CreateBundleInstaller("WixStdBaTest1_v10"); + var bundle1v11 = this.CreateBundleInstaller("WixStdBaTest1_v11"); + + packageA.VerifyInstalled(false); + + bundle1v11.Install(); + bundle1v11.VerifyRegisteredAndInPackageCache(); + + packageA.VerifyInstalled(true); + + bundle1v10.Install((int)MSIExec.MSIExecReturnCode.ERROR_PRODUCT_VERSION); + bundle1v10.VerifyUnregisteredAndRemovedFromPackageCache(); + bundle1v11.VerifyRegisteredAndInPackageCache(); + + packageA.VerifyInstalled(true); + } + + [Fact] + public void ExitsWithoutErrorWhenDowngradingWithSuppression() + { + var packageA = this.CreatePackageInstaller("PackageA"); + var bundle1v11 = this.CreateBundleInstaller("WixStdBaTest1_v11"); + var bundle1v12 = this.CreateBundleInstaller("WixStdBaTest1_v12"); + + packageA.VerifyInstalled(false); + + bundle1v12.Install(); + bundle1v12.VerifyRegisteredAndInPackageCache(); + + packageA.VerifyInstalled(true); + + bundle1v11.Install(); + bundle1v11.VerifyUnregisteredAndRemovedFromPackageCache(); + bundle1v12.VerifyRegisteredAndInPackageCache(); + + packageA.VerifyInstalled(true); + } + } +} -- cgit v1.2.3-55-g6feb