New submission from AndiDog AndiDog@web.de:
This is a follow up to the following problem:
If I create a MSI installer from a Python package with a computer that has its Python installation in 'C:\Program Files\Python26', and install it on another computer that has it installed in 'C:\Python26', for example, the shebang (for a script in gui_scripts) will still be #!"C:\Program Files\Python26\pythonw.exe"
With bdist_wininst installers, this problem does not occur because the code makes a distinction for them:
if wininst: executable = "python.exe" else: executable = nt_quote_arg(executable)
In case of a MSI installer, wininst is False and the full absolute path of pythonw.exe is inserted. I can't understand why an absolute path should be necessary. Using a #!pythonw.exe shebang line works even if the matching Python installation is not in the PATH or an incompatible Python version is in the PATH. So I propose to change that first line to
if wininst or sys.platform == "win32":
---------- messages: 535 nosy: AndiDog priority: bug status: unread title: Shebang for gui_scripts on Windows should be #!pythonw.exe for MSI installers, too