Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 0c6fe81

Browse files
authored
gh-101849: Add upgrade codes for old versions of launcher that ended up with later version numbers (GH-101877)
1 parent 95cbb3d commit 0c6fe81

File tree

3 files changed

+23
-1
lines changed

3 files changed

+23
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Ensures installer will correctly upgrade existing ``py.exe`` launcher installs.

Tools/msi/common.wxs

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
<UpgradeVersion Property="DOWNGRADE" Minimum="$(var.Version)" IncludeMinimum="no" OnlyDetect="yes" />
2626
<UpgradeVersion Property="UPGRADE" Minimum="$(var.UpgradeMinimumVersion)" IncludeMinimum="yes" Maximum="$(var.Version)" IncludeMaximum="no" />
2727
</Upgrade>
28-
<?endif ?>
2928

3029
<?ifdef CoreUpgradeCode ?>
3130
<?if $(var.UpgradeCode)!=$(var.CoreUpgradeCode) ?>
@@ -42,6 +41,7 @@
4241
<InstallExecuteSequence>
4342
<RemoveExistingProducts After="InstallInitialize" Overridable="yes">UPGRADE</RemoveExistingProducts>
4443
</InstallExecuteSequence>
44+
<?endif ?>
4545
</Fragment>
4646

4747
<Fragment>

Tools/msi/launcher/launcher.wxs

+21
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,34 @@
3434
<Custom Before="SetLauncherInstallDirectoryLM" Action="SetLauncherInstallDirectoryCU">NOT Installed AND NOT ALLUSERS=1</Custom>
3535
<Custom Before="CostFinalize" Action="SetLauncherInstallDirectoryLM">NOT Installed AND ALLUSERS=1</Custom>
3636

37+
<?if $(var.UpgradeMinimumVersion)="3.11.0.0" ?>
38+
<RemoveExistingProducts After="InstallValidate">UPGRADE or REMOVE_350_LAUNCHER or REMOVE_360A1_LAUNCHER or UPGRADE_3_11_0 or UPGRADE_3_11_1</RemoveExistingProducts>
39+
<?else ?>
3740
<RemoveExistingProducts After="InstallValidate">UPGRADE or REMOVE_350_LAUNCHER or REMOVE_360A1_LAUNCHER</RemoveExistingProducts>
41+
<?endif ?>
3842
</InstallExecuteSequence>
3943

44+
<?if $(var.UpgradeMinimumVersion)="3.11.0.0" ?>
45+
<Condition Message="!(loc.NoDowngrade)">Installed OR NOT DOWNGRADE OR UPGRADE_3_11_0 OR UPGRADE_3_11_1</Condition>
46+
<?else ?>
47+
<Condition Message="!(loc.NoDowngrade)">Installed OR NOT DOWNGRADE</Condition>
48+
<?endif ?>
49+
4050
<!-- Upgrade all versions of the launcher -->
4151
<Upgrade Id="$(var.UpgradeCode)">
4252
<UpgradeVersion Property="DOWNGRADE" Minimum="$(var.Version)" IncludeMinimum="no" OnlyDetect="yes" />
4353
<UpgradeVersion Property="UPGRADE" Minimum="0.0.0.0" IncludeMinimum="yes" Maximum="$(var.Version)" IncludeMaximum="no" />
54+
<!--
55+
Prior to 3.11.2150, version numbers incorrectly used date-based
56+
revision numbers in the third field. Because these are higher than
57+
the real version, it prevents upgrades.
58+
Releases of 3.10 have a similar issue, however, no significant
59+
changes have shipped in the launcher, so we don't worry about it.
60+
-->
61+
<?if $(var.UpgradeMinimumVersion)="3.11.0.0" ?>
62+
<UpgradeVersion Property="UPGRADE_3_11_0" Minimum="3.11.7966.0" IncludeMinimum="yes" Maximum="3.11.7966.0" IncludeMaximum="yes" />
63+
<UpgradeVersion Property="UPGRADE_3_11_1" Minimum="3.11.8009.0" IncludeMinimum="yes" Maximum="3.11.8009.0" IncludeMaximum="yes" />
64+
<?endif ?>
4465
</Upgrade>
4566
<!-- Python 3.5.0 shipped with a different UpgradeCode -->
4667
<Upgrade Id="A71530B9-E89D-53DB-9C2D-C6D7551876D8">

0 commit comments

Comments
 (0)