This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Title: Uninstall command line in Windows registry does not uninstall
Type: behavior Stage: resolved
Components: Windows Versions: Python 3.7, Python 3.6
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: steve.dower Nosy List: chrullrich, paul.moore, steve.dower, tim.golden
Priority: normal Keywords: patch

Created on 2017-03-26 18:09 by chrullrich, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 5119 merged steve.dower, 2018-01-07 01:34
Messages (3)
msg290544 - (view) Author: Christian Ullrich (chrullrich) * Date: 2017-03-26 18:09
The Windows installation package registers a command line for uninstalling the package. Running this command line does not uninstall the package.

The command line ends with "/modify". For uninstallation, it should be "/passive /uninstall".

Windows provides for separate command lines for modifying and uninstalling packages to be set in the "Uninstall" subkey:

- ModifyPath: Command line for modifying the package
- UninstallString: Command line for removing the package

By setting both keys, the ARP control panel will display separate buttons for the two operations.

Having an uninstallation command line that does not do what it says, and in fact causes modal UI to be presented, also interferes with automated package management.

Ceterum censeo: This bug would have been avoided by using MSI as the distribution package format, because "msiexec /qn /x [ProductCode]" would have been correct regardless of what the registry says, and even if the registry does not say anything because the Uninstall key (as well as the uninstaller executable itself) were actually deleted months ago as part of some expired user profile. See bug #25166.
msg290554 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2017-03-27 01:12
I'll take a look at having separate commands set, but the component responsible is external and this may be an issue for them.

Also, for future reference, continuing to point out that you would have preferred an MSI does not help you get faster assistance, and does not count as more "votes" towards any change. Continuing to add it will eventually annoy the volunteers who work on CPython sufficiently that you may find it very hard to get any attention at all.
msg290558 - (view) Author: Christian Ullrich (chrullrich) * Date: 2017-03-27 02:47
Thank you.

As for the pointing out: It worked for Cato, didn't it? He may not have lived to see it, but his perseverance in the face of rejection eventually brought about the years-long bloody war he had dreamed about.

(Any historical inaccuracies in the above are the property of the author.)
Date User Action Args
2022-04-11 14:58:44adminsetgithub: 74097
2018-01-18 03:34:25steve.dowersetstatus: open -> closed
resolution: fixed
stage: patch review -> resolved
2018-01-07 01:34:16steve.dowersetkeywords: + patch
stage: patch review
pull_requests: + pull_request4986
2017-03-27 02:48:39zach.waresetnosy: - zach.ware
2017-03-27 02:47:47chrullrichsetmessages: + msg290558
2017-03-27 01:12:57steve.dowersetassignee: steve.dower
messages: + msg290554
versions: + Python 3.7
2017-03-26 18:09:34chrullrichcreate