[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 mailing list