python / cpython

The Python programming language
https://www.python.org
Other
62.39k stars 29.96k forks source link

Add\Remove Programs entry is not created. #76972

Closed f808bb89-a9f1-4836-9ce9-ac439375c269 closed 6 years ago

f808bb89-a9f1-4836-9ce9-ac439375c269 commented 6 years ago
BPO 32791
Nosy @pfmoore, @tjguk, @zware, @zooba
Superseder
  • bpo-25166: Windows All Users installation places uninstaller in user profile
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields: ```python assignee = None closed_at = created_at = labels = ['type-bug', 'OS-windows'] title = 'Add\\Remove Programs entry is not created.' updated_at = user = 'https://bugs.python.org/WilliamM' ``` bugs.python.org fields: ```python activity = actor = 'steve.dower' assignee = 'none' closed = True closed_date = closer = 'steve.dower' components = ['Windows'] creation = creator = 'WilliamM' dependencies = [] files = [] hgrepos = [] issue_num = 32791 keywords = [] message_count = 2.0 messages = ['311814', '311846'] nosy_count = 5.0 nosy_names = ['paul.moore', 'tim.golden', 'zach.ware', 'steve.dower', 'WilliamM'] pr_nums = [] priority = 'normal' resolution = 'duplicate' stage = 'resolved' status = 'closed' superseder = '25166' type = 'behavior' url = 'https://bugs.python.org/issue32791' versions = ['Python 3.6'] ```

    f808bb89-a9f1-4836-9ce9-ac439375c269 commented 6 years ago

    I've been writing a script for the Python 3.X install package and encountering some issues due to that.

    I'm using the installation property InstallAllUsers=1 but find that Python is still placing it's Add/Remove programs entry in user context.

    Applications usually write system level installs to HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall or HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall

    What I'm encountering with Python is that it's writing them to HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall

    This is causing some difficulty as it prevents software such as SCCM, KACE, Altiris from being able to detect the main program install or a user with elevated privileges from being able to remove it.

    Deploying the software will end up with the entry located the System Account's registry within HKU\S-5-1-18\Software\Microsoft\WIndows\CurrentVersion\Uninstall\{Prodct GUID}

    To add a bit more info, only the dependencies show up in HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall

    Python 3.6.4 TCL/TK support (32-Bit) Python 3.6.4 Development Libraries (32-Bit) Python 3.6.5 Documentation (32-Bit) Python 3.6.4 Utility Scripts (32-Bit) Python 3.6.4 Executables (32-Bit) Python launcher (32-Bit) Python 3.6.4 Test Suite (32-Bit) Python 3.6.4 Core Interpreter (32-Bit) Python 3.6.4 Standard Library (32-Bit)

    However the "Python 3.6.4 (32-Bit)" Install that has the installation and bundled uninstall package is located in HKU\S-1-5-18\Software\Microsoft\WIndows\CurrentVersion\Uninstall\{9218130b-5ad0-4cf7-82be-6993cfd6cb84}

    Is there a known workaround/solution for this or something that can be resolved in a later build?

    zooba commented 6 years ago

    This is the same as bpo-25166

    It can't be fixed easily (Wix doesn't actually support this), but I have some ideas that have been looking okayish. Still hoping to get it to work fully for 3.7, but as it affects the installer we may not have enough time for testing to get it into this release.