[Python-Dev] Install-on-first-use vs. optional extensions (original) (raw)

Garth garth at garthy.com
Thu Sep 9 13:39:33 CEST 2004


Couldn't you conditionally run RegisterExtensionInfo?

And set this in a dialog checkbox? (Which I don't know haow to do in msi

This is my guess at a patch

--- oldsequence.py Thu Sep 9 12:35 :51 2004 +++ sequence.py Thu Sep 9 12:35 :31 2004 @@ -50,7 +50,7 @@ (u'PublishFeatures', None, 6300), (u'PublishProduct', None, 6400), (u'RegisterClassInfo', None, 4600), -(u'RegisterExtensionInfo', None, 4700), +(u'RegisterExtensionInfo', 'INSTALLEXT=1', 4700), (u'RegisterMIMEInfo', None, 4900), (u'RegisterProgIdInfo', None, 4800), (u'AllocateRegistrySpace', u'NOT Installed', 1550),

Martin v. Löwis wrote:

I recently looked into properly implementing the "Register Extensions" feature in the installer; in 2.4a3, not selecting that doesn't really work. The problem is that MSI only supports installing either both the "extension server" (the .exe) and the extension, or neither. So you can chose not to install word.exe, and it won't install the .doc extension; if you install word.exe, it will associate .doc with it.

For Python, this leaves us with three options: 1. Don't make registration of extensions optional; always associate .py, .pyc, .pyw, .pyo. 2. Don't support installation-on-demand for extensions. This means to not use the MSI extension machinery at all, but to directly write the registry keys that build the extension. Installing these keys can then be made optional. 3. Provide another binary that is the "extension server", and install that independently of python.exe, and pythonw.exe. In CVS, I have implemented this approach to see whether it works (it does), and called this binary "launcher.exe". It is a Windows app which supports a -console argument which also makes it a console app. This is the the binary that gets associated with all four extensions, for the "open" verb. Currently, I'm in favour of using option 3, but I'd like to hear whether people would prefer something else instead. Regards, Martin


Python-Dev mailing list Python-Dev at python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/garth%40garthy.com



More information about the Python-Dev mailing list