On Thu, Jan 13, 2011 at 11:26 PM, "Martin v. L÷wis" <martin@v.loewis.de> wrote:
> Who is maintaining bdist_msi?

I am. Unfortunately, I don't even understand the problem you are talking
about, let alone being able to do anything about it.


I'll explain. (Please correct me if I'm making any mistakes here.)

When you install a Python package in Windows, an .exe file is generated for every script that your package defines. This .exe file sits alongside the .py scripts in the PythonXX\Scripts folder. The .exe fileálaunches the Python interpreter with the Python script. The .exe file needs to know where your Python interpreter is, and it uses the shebang line on the script file to do it, like this:á"#!c:\Python27\pythonw.exe"

Problem is, that instead of specifying the interpreter of the system on which you're installing, it's using the interpreter of the system which generated the bdist_msi. So since I generated MSI with Python 2.7, the shebang line showed a path to a Python 2.7 installation. This is a problem since the user might have Python 2.6 installed, or he can have Python installed in a non-default path, etc.

What seems right to me is that the MSI installer will figure out where the Python interpreter is on the end-user's system and then use that in the shebang line.

What do you think?