diff options
| author | Steve Dower <steve.dower@python.org> | 2023-02-13 20:33:48 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-02-13 20:33:48 +0000 |
| commit | 0c6fe81dce9d6bb1dce5e4503f1b42bc5355ba24 (patch) | |
| tree | 5d68c956b52216e809e2dc5a0fa4d60a26cd60a1 | |
| parent | 95cbb3d908175ccd855078b3fab7f99e7d0bca88 (diff) | |
| download | cpython-git-0c6fe81dce9d6bb1dce5e4503f1b42bc5355ba24.tar.gz | |
gh-101849: Add upgrade codes for old versions of launcher that ended up with later version numbers (GH-101877)
| -rw-r--r-- | Misc/NEWS.d/next/Windows/2023-02-13-16-32-50.gh-issue-101849.7lm_53.rst | 1 | ||||
| -rw-r--r-- | Tools/msi/common.wxs | 2 | ||||
| -rw-r--r-- | Tools/msi/launcher/launcher.wxs | 21 |
3 files changed, 23 insertions, 1 deletions
diff --git a/Misc/NEWS.d/next/Windows/2023-02-13-16-32-50.gh-issue-101849.7lm_53.rst b/Misc/NEWS.d/next/Windows/2023-02-13-16-32-50.gh-issue-101849.7lm_53.rst new file mode 100644 index 0000000000..861d4de9f9 --- /dev/null +++ b/Misc/NEWS.d/next/Windows/2023-02-13-16-32-50.gh-issue-101849.7lm_53.rst @@ -0,0 +1 @@ +Ensures installer will correctly upgrade existing ``py.exe`` launcher installs. diff --git a/Tools/msi/common.wxs b/Tools/msi/common.wxs index 55cb44860d..54fa749ab1 100644 --- a/Tools/msi/common.wxs +++ b/Tools/msi/common.wxs @@ -25,7 +25,6 @@ <UpgradeVersion Property="DOWNGRADE" Minimum="$(var.Version)" IncludeMinimum="no" OnlyDetect="yes" /> <UpgradeVersion Property="UPGRADE" Minimum="$(var.UpgradeMinimumVersion)" IncludeMinimum="yes" Maximum="$(var.Version)" IncludeMaximum="no" /> </Upgrade> - <?endif ?> <?ifdef CoreUpgradeCode ?> <?if $(var.UpgradeCode)!=$(var.CoreUpgradeCode) ?> @@ -42,6 +41,7 @@ <InstallExecuteSequence> <RemoveExistingProducts After="InstallInitialize" Overridable="yes">UPGRADE</RemoveExistingProducts> </InstallExecuteSequence> + <?endif ?> </Fragment> <Fragment> diff --git a/Tools/msi/launcher/launcher.wxs b/Tools/msi/launcher/launcher.wxs index b83058c63b..49f1f7b8c1 100644 --- a/Tools/msi/launcher/launcher.wxs +++ b/Tools/msi/launcher/launcher.wxs @@ -34,13 +34,34 @@ <Custom Before="SetLauncherInstallDirectoryLM" Action="SetLauncherInstallDirectoryCU">NOT Installed AND NOT ALLUSERS=1</Custom> <Custom Before="CostFinalize" Action="SetLauncherInstallDirectoryLM">NOT Installed AND ALLUSERS=1</Custom> + <?if $(var.UpgradeMinimumVersion)="3.11.0.0" ?> + <RemoveExistingProducts After="InstallValidate">UPGRADE or REMOVE_350_LAUNCHER or REMOVE_360A1_LAUNCHER or UPGRADE_3_11_0 or UPGRADE_3_11_1</RemoveExistingProducts> + <?else ?> <RemoveExistingProducts After="InstallValidate">UPGRADE or REMOVE_350_LAUNCHER or REMOVE_360A1_LAUNCHER</RemoveExistingProducts> + <?endif ?> </InstallExecuteSequence> + <?if $(var.UpgradeMinimumVersion)="3.11.0.0" ?> + <Condition Message="!(loc.NoDowngrade)">Installed OR NOT DOWNGRADE OR UPGRADE_3_11_0 OR UPGRADE_3_11_1</Condition> + <?else ?> + <Condition Message="!(loc.NoDowngrade)">Installed OR NOT DOWNGRADE</Condition> + <?endif ?> + <!-- Upgrade all versions of the launcher --> <Upgrade Id="$(var.UpgradeCode)"> <UpgradeVersion Property="DOWNGRADE" Minimum="$(var.Version)" IncludeMinimum="no" OnlyDetect="yes" /> <UpgradeVersion Property="UPGRADE" Minimum="0.0.0.0" IncludeMinimum="yes" Maximum="$(var.Version)" IncludeMaximum="no" /> + <!-- + Prior to 3.11.2150, version numbers incorrectly used date-based + revision numbers in the third field. Because these are higher than + the real version, it prevents upgrades. + Releases of 3.10 have a similar issue, however, no significant + changes have shipped in the launcher, so we don't worry about it. + --> + <?if $(var.UpgradeMinimumVersion)="3.11.0.0" ?> + <UpgradeVersion Property="UPGRADE_3_11_0" Minimum="3.11.7966.0" IncludeMinimum="yes" Maximum="3.11.7966.0" IncludeMaximum="yes" /> + <UpgradeVersion Property="UPGRADE_3_11_1" Minimum="3.11.8009.0" IncludeMinimum="yes" Maximum="3.11.8009.0" IncludeMaximum="yes" /> + <?endif ?> </Upgrade> <!-- Python 3.5.0 shipped with a different UpgradeCode --> <Upgrade Id="A71530B9-E89D-53DB-9C2D-C6D7551876D8"> |
