[Python-Dev] Install-on-first-use vs. optional extensions
"Martin v. Löwis"
martin at v.loewis.de
Wed Sep 8 06:41:28 CEST 2004
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.
More information about the Python-Dev