[New-bugs-announce] [issue22329] Windows installer can't recover partially installed state
report at bugs.python.org
Wed Sep 3 02:26:07 CEST 2014
New submission from Llelan D.:
Python v3.4.1 x64 on Windows 7 x64.
If the python installation directory is deleted, the installer can not remove, change, or repair the installation.
When I run the python-3.4.1.amd64.msi installer and choose Remove, it gives me a dialog saying a required file is missing about halfway through. It gives me no clue as to what this file is.
If I choose Repair, it gives me a dialog saying "The specified account already exists" about halfway through. Totally cryptic.
If I choose Change and either select that all features or no features will be installed, it gives me a dialog saying "The specified account already exists" about halfway through.
It turns out that the installer is relying on both files in the installation directory and a Windows Intaller key. If the required files are missing, the installer refuses to either remove or repair. If the Windows Installer key still exists, the installer refuses to re-install. When this key is removed, an install can then be done. To be safe, a remove should then be done to clear up any problems and then another clean install.
Both of these requirement violate good MSI practice. You are *NEVER* to use a Windows Installer key as an indication of the installed state because that list can be, and often is, easily corrupted. The installer should always be able to perform a complete repair and especially remove without requiring *ANY* installed files or registry keys.
This installer desperately needs a complete re-write. It should use its own key to indicate whether the application is installed but should not depend on it in case of a partially installed/removed state, should not require any installed file or registry key to fully repair or remove the application, should be able to re-install no matter the state of a previous installation, and should query the user if any information required is missing from the installation or registry. In other words, the normal MSI installer guidelines.
nosy: LlelanD, steve.dower
title: Windows installer can't recover partially installed state
versions: Python 3.4
Python tracker <report at bugs.python.org>
More information about the New-bugs-announce