Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 0c6fe81

Browse filesBrowse 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
Copy full SHA for 0c6fe81

File tree

3 files changed

+23
-1
lines changed
Filter options

3 files changed

+23
-1
lines changed
+1Lines changed: 1 addition & 0 deletions
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

Copy file name to clipboardExpand all lines: Tools/msi/common.wxs
+1-1Lines changed: 1 addition & 1 deletion
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

Copy file name to clipboardExpand all lines: Tools/msi/launcher/launcher.wxs
+21Lines changed: 21 additions & 0 deletions
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 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.