Glenn Linderman <v+python <at> g.nevcal.com> writes:Here is a list of py.exe references in my registry: HCR\Python.CompiledFile HCR\Python.File HCR\Python.NoConFile[snip] There shouldn't be so many references, so I suggest you may want to try the following (after backing up your registry first):
1. Uninstall all instances of the launcher.
Yes, I can do this.2. Remove all registry keys for .py, .pyc, .pyo, .pyw, Python.File, Python.NoConFile, and Python.CompiledFile.
So what I had done was just double click launchsys.msi. Why should there be command line parameters, rather than question/answer dialogs? This is Windows after all. What does the parameter do, that would be different than what double click did?3. Re-install the launcher (64-bit) using "msiexec /i launchsys.amd64.msi ALLUSERS=1" (or launcher.amd64.msi if you prefer - the only difference is the installation directory).
4. Check that the removed associations have appeared under HKEY_LOCAL_MACHINE, and that they all point to the launcher installed in the previous step. These may also appear in HKEY_CLASSES_ROOT if it is aliased to the HKEY_LOCAL_MACHINE\Software\Classes tree.
Second issue (not really an issue, however something that makes our situation more complicated) is the fact that HKCR is in fact registry symlink and this registry key doesn’t really exists on system. It is merge of two different keys – HKLM\Software\Classes and HKCU\Software\Classes. You probably already guessed (correctly) that this is the way how you can overwrite some settings on per-user basis – HKCU key always wins.
You need to create file type using FTYPE first and then associate this TFYPE with executable using ASSOC command. Even though this process is not very simple, you can use it. There is one HUGE disadvantage though and I still don’t understand how is it possible – both FTYPE and ASSOC works only on per-machine level! Therefore you cannot configure per-user associations using these tools!
Currently, there is no way through the UI to change or edit the user-specific file type associations stored in the HKEY_CURRENT_USER\SOFTWARE\Classes registry key. If you want to do this, you have to directly edit the registry or develop your own UI to gain access to this information.
Above you can see official Microsoft statement about this issue.
Regards, Vinay Sajip