On 8/29/2014 12:53 PM, Tim Golden wrote:
On 29/08/2014 09:19, Curtis Clauson wrote:

Unfortunately I don't think there's a simple answer to this one. (Altho'
I'm not an MSI expert and I'd be very happy to be overruled).
msiexec.exe, which is the program which actually runs the MSIs, has a
number of options you can invoke, including a verbose logging option.
You can see them all by doing:

   msiexec /?

or, presumably some MSDN page with the same information.

Some things which might be worth trying include:

   msiexec /log whatever.log python-xx-yy.msi

to log verbosely, in the hope that some missing or present file or
registry might show up. And/or playing with the Repair Options to narrow
things down.

TJG

Actually, I do know more than a little about the Windows MSI service and application, and had already perused the logs to no avail. All of the listed registry keys were deleted without changing the problem. The missing file is of no importance since I already know the installation directory is deleted. It's just that the installer should normally supply that information.

The error messages are Windows System errors that are being caused by requirements of the MSI installer file and not the msiexec.exe application. The problem is with how the installer is written and not the MSI system.

There's always a simple answer to things like this. It's just that the simple answers are harder to find in poorly written code.

I randomly poked around the registry a lot more, deleting anything I could find referring to Python34 and then the string "Python 3.4.1". I finally got desperate enough to delete the python installer entries under the Windows Installer key (the list of installed applications in the Windows "Uninstall or Change a Program" Control Panel). You know, the registry keys you are *NEVER* to use as an indication if the application is currently installed because MS constantly corrupts this list and can leave your installation in an un-installable, un-repairable, and un-removeable state?

Well it worked. The Python installer no longer sees the application as installed and happily performs a full installation. I did that, a full removal to get rid of any other problems, and a clean installation and everything works fine now.

This installer is seriously screwed up and desperately needs a 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 to fully repair or remove the application, and should query the user if any information required is missing from the installation or registry. In other words, the normal MSI installer guidelines.

I hope this is of help to someone out there.

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to