classification
Title: Can't install Python3.8, 3.9, 3.10 various errors including 0x80070643
Type: crash Stage: resolved
Components: Installation, Windows Versions: Python 3.10, Python 3.9, Python 3.8, Python 3.7
process
Status: closed Resolution: rejected
Dependencies: Superseder:
Assigned To: Nosy List: iritkatriel, paul.moore, steve.dower, tim.golden, tps800, zach.ware
Priority: normal Keywords:

Created on 2021-06-10 07:28 by tps800, last changed 2021-10-18 21:51 by iritkatriel. This issue is now closed.

Messages (3)
msg395510 - (view) Author: Thomas Schweikle (tps800) Date: 2021-06-10 07:28
Python Setup for python-3.8.10-amd64.exe, python-3.9.5-amd64.exe, python10.0b2-amd64.exe fails after exausting "No Python 3.8 installation was detected.", then again "No Python 3.8 installation was detected." next it tells about "Error 0x80070643 while installing".

Non of the workarounds you'll able to find will work.

Looking into the registry you'll find various entries like:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\0255A3B1CB3E0445EBD928E5D9ABECFD]
"8400E080C358BF9469DE03ED7FBAE643"="C:\\Program Files\\Python\\38\\Lib\\lib2to3\\fixes\\fix_funcattrs.py"

I could find ~300 entries for Python 3.8, ~400 entries for Python 3.9 and ~1000 entries for Python 3.10.

I've installed into a new windows 10, then removed Python 3.8 looked into the registry and found -- nothing. Tried the same, but this time installed Python 3.8 and Python 3.9 in parallel before removing Python 3.8 and then Python 3.9. Again nothing. Next try: installed Python 3.8.9, then Python 3.9.0. Next upgraded Python 3.8.9 to 3.8.10. Then upgraded Python 3.9.0 to 3.9.5. Then removed Python 3.8.10 and Python 3.9.5. Voila! Lots of entries!

Conclusion: the installer does what it is expected to do, as long as you install and then remove the same version. As soon, as you upgraded in between, then remove it will leave various entries in the registry behind and reinstalling will fail with error 0x80070643.

Your installer has to do its work different: do not upgrade an existing installation "in line", but backup necessary parts, then remove the existing installation, clean up registry, then install the new version, restore what you backed up before.
Seems the installer looses track of these registry entries if upgrades are done inline and later on these existing entries make reinstalling/upgrading impossible.
msg395655 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2021-06-11 18:26
Sorry, you've reported a range of issues here and it's not clear what the problem is.

Many many people (literally millions) have successfully installed Python on Windows with these installers, and even more (including most Microsoft products) use the installer toolkit that we use. Fundamentally, it works correctly. Most issues are due to problems or configuration settings on the target machine.

The installer file registration is handled by Windows, and is not ours to manage. If the OS is choosing to leave them there after removing the files, you'll have to report it to them.

Perhaps you could reproduce the issue, and then send all the Python log files from your %TEMP% directory? That should show us why your install is failing.
msg404227 - (view) Author: Irit Katriel (iritkatriel) * (Python committer) Date: 2021-10-18 21:51
Closing as it's not clear what the issue is and there was no reply to follow-up questions. 

Please create a new issue if you can provide more information.
History
Date User Action Args
2021-10-18 21:51:35iritkatrielsetstatus: open -> closed

nosy: + iritkatriel
messages: + msg404227

resolution: rejected
stage: resolved
2021-06-11 18:26:50steve.dowersetmessages: + msg395655
2021-06-10 08:14:30xtreaksetnosy: + paul.moore, tim.golden, zach.ware, steve.dower
components: + Windows
2021-06-10 07:28:50tps800create