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.

classification
Title: Add registry functions to windows postinstall
Type: enhancement Stage:
Components: Distutils Versions:
process
Status: closed Resolution: wont fix
Dependencies: Superseder:
Assigned To: theller Nosy List: loewis, techtonik, theller
Priority: normal Keywords:

Created on 2007-01-14 20:00 by techtonik, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Messages (6)
msg54980 - (view) Author: anatoly techtonik (techtonik) Date: 2007-01-14 20:00
It would be useful to add regkey_created() or regkey_modified() to windows postinstall scripts along with directory_created() and file_created(). Useful for adding installed package to App Paths.
msg54981 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2007-01-20 10:55
Can you please elaborate? Where should these functions be defined, what should they do, and when should they be invoked (by what code)? Also, what is a "windows postinstall script"?
msg54982 - (view) Author: anatoly techtonik (techtonik) Date: 2007-01-20 14:26
Windows postinstall script is bundled with installation, launched after installation and just before uninstall. It is described here. http://docs.python.org/dist/postinstallation-script.html#SECTION005310000000000000000

Where these should be defined? I do not know - there are already some functions that are said to be "available as additional built-in functions in the installation script." on the page above. 

The purpose is to be able to create/delete registry keys during installation. This should also be reflected in installation log file with appropriate status code so that users could be aware of what's going on.

I think the functions needed are already defined in http://docs.python.org/lib/module--winreg.html but the module is very low-level. I'd rather use Autoit like API - 
http://www.autoitscript.com/autoit3/docs/functions/RegRead.htm
http://www.autoitscript.com/autoit3/docs/functions/RegWrite.htm
http://www.autoitscript.com/autoit3/docs/functions/RegDelete.htm
msg54983 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2007-01-20 18:07
Thomas, what do you think?

msg54984 - (view) Author: Thomas Heller (theller) * (Python committer) Date: 2007-01-24 20:47
General comments: There are some problems with bdist_wininst that I assume will get worse in the future, especially with the postinstall script, because of different versions of the MS C runtime library.  The installers that bdist_wininst creates are linked against a certain version which must be the same version that the Python runtime uses.  If they do not match, the output of the postinstall script will not be displayed in the gui, or, in the worst case it could crash.
The second problem is that bdist_wininst will not work with 64-bit Pythons.

All this *could* probably be fixed, of course, but since bdist_msi does *not* have these problems IMO bdist_msi will superseed bdist_wininst sooner or later.

About the concrete problem:  Originally, when bdist_wininst was first implemented, Python did not have the _winreg module, so it was not possible to create or remove registry entries in the install script or postinstall script anyway and these function would not have made any sense at all.  They could probably make sense now, but it is equally possible to modify the registry in the postinstall-script at installation time, and revert these changes in the postinstall-script at uninstallation time.

I would prefer not to make these changes, since a workaround is possible.
msg54985 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2007-01-24 21:48
Closing this as "won't fix", then. techtonik, if you think this is an important feature, please contribute a patch.
History
Date User Action Args
2022-04-11 14:56:22adminsetgithub: 44464
2007-01-14 20:00:49techtonikcreate