[Python-Dev] Python Launcher for Windows (PEP 397) needs testing!

Vinay Sajip vinay_sajip at yahoo.co.uk
Wed Jul 6 20:31:55 CEST 2011

The C implementation of the PEP 397-compatible Python Launcher for Windows has
come along nicely in the last few days, and now reached a point where it would
benefit from some testing by interested python-dev members. Points of note:

1. As well as source available on


there are built 32- and 64-bit msi files at


Please remember that this is beta software. While it appears stable, I've
tested in virtual machines (WinXP 32-bit, Win7 32-bit and 64-bit) which I can
readily restore from backup. There are also msm files which could be used to
e.g. integrate with the Python msi files, if approved, at some later date.

2. On installation, any existing associations are saved, and restored when the
launcher is uninstalled (this is done automatically by Windows Installer).

3. On uninstallation, if there are Pythons installed and no associations, a
dialog pops up listing all the installed Pythons and offering the user the
chance to associate one of the Pythons with the Python extensions. The user
can choose to associate or not, but once they choose an association, then that
association will always be there unless the launcher is reinstalled (in which
case it takes over the association while it's still installed, and restores
the previous one when it's uninstalled).

4. I've tried to cover all of the points in the PEP. There is a test suite -
while this appears to be small (7 tests) the individual shebangs are all
tested, as are the customisable commands etc. However, I'm sure some of you
will break it ;-)

5. I used WiX to build the msm/msi files, but that's only because of increased
familiarity over msilib. The build procedure could switch over to msilib at
some later date. All the other code is just plain C and Win32 APIs (gosh -
takes me back! Window procedures, anyone?). The code builds with Visual Studio
and also Visual Studio Express (C++ edition).


Vinay Sajip

More information about the Python-Dev mailing list