@joebigelow / wix-1 / commits / b695f203

Show correct error message when upgrade is blocked

timberto committed Apr 18, 2023 at 12:34 UTC b695f2032801a21c47b7c871a70497b7d7ae488d
3 files changed +39 -3
src/wix/WixToolset.Core/Compiler.cs
+1 -1
@@ -6635,7 +6635,7 @@ namespace WixToolset.Core
6635 this.Core.AddSymbol(new LaunchConditionSymbol(sourceLineNumbers)
6636 {
6637 Condition = WixUpgradeConstants.UpgradePreventedCondition,
6638 - Description = downgradeErrorMessage
6638 + Description = disallowUpgradeErrorMessage
6639 });
6640 }
6641
src/wix/test/WixToolsetTest.CoreIntegration/TestData/Upgrade/MajorUpgradeDowngradeMessage.wxs new
+15
@@ -0,0 +1,15 @@
1 +<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
2 + <Package Name="MajorUpgradeDowngradeMessage" Language="1033" Version="2.0.0" Manufacturer="Example Corporation" UpgradeCode="7ab24276-c628-43db-9e65-a184d052909b" Scope="perMachine">
3 +
4 + <MajorUpgrade Disallow="yes" DisallowUpgradeErrorMessage="No upgrades allowed!" DowngradeErrorMessage="No downgrades allowed!" />
5 +
6 + <Feature Id="ProductFeature" Title="MsiPackageTitle">
7 + </Feature>
8 + </Package>
9 +
10 + <Fragment>
11 + <StandardDirectory Id="ProgramFiles6432Folder">
12 + <Directory Id="INSTALLFOLDER" Name="MsiPackage" />
13 + </StandardDirectory>
14 + </Fragment>
15 +</Wix>
src/wix/test/WixToolsetTest.CoreIntegration/UpgradeFixture.cs
+23 -2
@@ -11,9 +11,8 @@ namespace WixToolsetTest.CoreIntegration
11
12 public class UpgradeFixture
13 {
14 -
14 [Fact]
16 - public void PopulatesInstallExecuteSequenceTable()
15 + public void FailsOnInvalidVersion()
16 {
17 var folder = TestData.Get(@"TestData");
18
@@ -44,5 +43,27 @@ namespace WixToolsetTest.CoreIntegration
43 Assert.Equal(242, result.ExitCode);
44 }
45 }
46 +
47 + [Fact]
48 + public void MajorUpgradeDowngradeMessagePopulatesRowsAsExpected()
49 + {
50 + var folder = TestData.Get("TestData", "Upgrade");
51 + var build = new Builder(folder, null, new[] { folder });
52 +
53 + var results = build.BuildAndQuery(Build, "Upgrade", "LaunchCondition");
54 + WixAssert.CompareLineByLine(new[]
55 + {
56 + "LaunchCondition:NOT WIX_DOWNGRADE_DETECTED\tNo downgrades allowed!",
57 + "LaunchCondition:NOT WIX_UPGRADE_DETECTED\tNo upgrades allowed!",
58 + "Upgrade:{7AB24276-C628-43DB-9E65-A184D052909B}\t\t2.0.0\t1033\t1\t\tWIX_UPGRADE_DETECTED",
59 + "Upgrade:{7AB24276-C628-43DB-9E65-A184D052909B}\t2.0.0\t\t1033\t2\t\tWIX_DOWNGRADE_DETECTED",
60 + }, results);
61 + }
62 +
63 + private static void Build(string[] args)
64 + {
65 + var result = WixRunner.Execute(args);
66 + result.AssertSuccess();
67 + }
68 }
69 }