Bug report
Bug description:
# Add a code block here, if required
If you have a Windows machine with multiple versions of python installed the presence of a newer version of the installer can prevent updating the older python version installations.
For example installing in the following sequence, (all with install py launcher checked (global or otherwise), tested with both 64 & 32 bit versions:
- Python 3.11.7 OK
- Python 3.12.1 OK (Updates Launcher)
- Python 3.11.8 Select Update or Customise with the py launcher ticked Part way through the install a pop-up is shown.

Select OK & Installation is wound back. Followed by:

The relevant section of the log reads:
[D824:8A50][2024-02-16T07:58:01]i325: Registering dependency: {02717f5c-724f-48a7-86c0-ee11d4de681c} on package provider: {8EEE1658-8844-4DAD-8A3B-7AF321C9A4FD}, package: tcltk_JustForMe
[D824:8A50][2024-02-16T07:58:01]i301: Applying execute package: launcher_JustForMe, action: Install, path: C:\Users\Gadge\AppData\Local\Package Cache\{8DFCF17F-8C82-4E21-96F1-B1777F61A757}v3.11.8150.0\launcher.msi, arguments: ' MSIFASTINSTALL="7" ADDLOCAL="DefaultFeature,AssociateFiles"'
[D824:8A50][2024-02-16T07:59:54]e000: Error 0x80070643: Failed to install MSI package.
[D824:8A50][2024-02-16T07:59:54]e000: Error 0x80070643: Failed to configure per-user MSI package.
[D824:8A50][2024-02-16T07:59:54]i319: Applied execute package: launcher_JustForMe, result: 0x80070643, restart: None
[D824:8A50][2024-02-16T07:59:54]e000: Error 0x80070643: Failed to execute MSI package.
[D824:8A50][2024-02-16T07:59:54]i351: Removing cached package: launcher_JustForMe, from path: C:\Users\Gadge\AppData\Local\Package Cache\{8DFCF17F-8C82-4E21-96F1-B1777F61A757}v3.11.8150.0\
[D824:8A50][2024-02-16T07:59:54]i329: Removed package dependency provider: {9E9F28A9-A7A6-4483-842C-07579F9D7FDD}, package: tcltk_JustForMe_d
- Running
py -0 results in:
$ py -0
-V:3.12 Python 3.12 (64-bit)
-V:3.10 Python 3.10 (64-bit)
-V:3.10-32 Python 3.10 (32-bit)
-V:3.9 Python 3.9 (64-bit)
So I have now lost my Python 3.11 installation! Not very happy at this point!
5. Re-running the installer, selecting Customize Installation and unticking py launcher will allow a successful installation but:
- Many users may not realise this option will resolve the issue!
- In controlled environments such as at my work an
unattend.xml file or install script may prevent the user changing this option.
Possible Resolutions
There is more than one way that this issue could be handled. If a newer py launcher is present:
- Skip installing py launcher silently or with a message but not an error. Unlikely to actually cause a problem but may invalidate some test environments.
- Offer to downgrade py launcher or leave the newer one.
- Offer the option to skip py launcher or cancel install (with warning that old installation may be lost).
CPython versions tested on:
3.9, 3.10, 3.11, 3.12
Operating systems tested on:
Windows
Linked PRs
Bug report
Bug description:
# Add a code block here, if requiredIf you have a Windows machine with multiple versions of python installed the presence of a newer version of the installer can prevent updating the older python version installations.
For example installing in the following sequence, (all with
install py launcherchecked (global or otherwise), tested with both 64 & 32 bit versions:Select
OK& Installation is wound back. Followed by:The relevant section of the log reads:
py -0results in:So I have now lost my Python 3.11 installation! Not very happy at this point!
5. Re-running the installer, selecting
Customize Installationand untickingpy launcherwill allow a successful installation but:unattend.xmlfile or install script may prevent the user changing this option.Possible Resolutions
There is more than one way that this issue could be handled. If a newer py launcher is present:
CPython versions tested on:
3.9, 3.10, 3.11, 3.12
Operating systems tested on:
Windows
Linked PRs