Skip to content

Windows launcher bundle registers under HKCU despite InstallLauncherAllUsers=1, InstallLauncherAllUsers=1 #148148

@sleepy-manul

Description

@sleepy-manul

Windows Installer: InstallAllUsers=1 InstallLauncherAllUsers=1 still registers bundle under HKCU

Summary

On Windows x64, running the CPython 3.14 installer in quiet mode with:

InstallAllUsers=1 InstallLauncherAllUsers=1 /quiet

installs Python into C:\Program Files\Python314 and installs py.exe into C:\Windows\py.exe (after removing prior per-user launcher state), but the bundle registration still ends up under HKCU (BundleProviderKey=CPython-3.14) instead of HKLM.

This appears to be a Burn bundle scope/registration issue.

Environment

  • OS: Windows (x64)
  • Version under test: CPython 3.14.3 amd64 installer
  • Compared installers:
    • Official/original: C:\TEMP\python-3.14.3-amd64.exe

Repro

  1. Ensure Python 3.14 is uninstalled.
  2. Remove residual paths:
    • C:\Program Files\Python314
    • %LOCALAPPDATA%\Programs\Python\Python314
    • %LOCALAPPDATA%\Programs\Python\Launcher
  3. Run installer elevated:
    • python-3.14.3-amd64.exe InstallAllUsers=1 InstallLauncherAllUsers=1 /quiet /log <bundle.log>
  4. Check:
    • Uninstall registration in HKCU vs HKLM
    • Launcher location (C:\Windows\py.exe vs user launcher path)

Actual Behavior (latest run)

  • C:\Program Files\Python314\python.exe: present
  • C:\Windows\py.exe: present
  • %LOCALAPPDATA%\Programs\Python\Launcher\py.exe: absent
  • HKCU uninstall entry for CPython-3.14: present
  • HKLM uninstall entry for CPython-3.14: absent

Expected Behavior

With InstallAllUsers=1 InstallLauncherAllUsers=1 (and elevated install), bundle registration should be machine-wide (HKLM), not per-user (HKCU).

Key Log Evidence

Installation logfiles include lines showing package scope mismatch against bundle scope:

  • Skipping cross-scope dependency registration ... bundle scope: PerUser, package scope: PerMachine

But both runs also apply launcher_AllUsers successfully in the latest comparison:

  • Applying execute package: launcher_AllUsers ... ALLUSERS="1" ...

Requested guidance

  • Is HKCU bundle registration currently expected for this installer path even with InstallAllUsers=1 InstallLauncherAllUsers=1?
  • If not expected, what is the intended Burn authoring mechanism to ensure HKLM bundle registration for all-users installs in this WiX 3.14 setup?

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions