Skip to content

Python Install Fails Due To Newer Launcher #115554

@GadgetSteve

Description

@GadgetSteve

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:

  1. Python 3.11.7 OK
  2. Python 3.12.1 OK (Updates Launcher)
  3. Python 3.11.8 Select Update or Customise with the py launcher ticked Part way through the install a pop-up is shown.
    image
    Select OK & Installation is wound back. Followed by:
    image
    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
  1. 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

Metadata

Metadata

Assignees

Labels

3.11only security fixes3.12only security fixes3.13bugs and security fixesOS-windowstopic-installationtype-bugAn unexpected behavior, bug, or error

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions