Use the right wininstXX.exe, depending on

msvccompiler.get_build_version().

Distributions without a pre-install-script didn't work any longer, we
must at least provide the terminating NUL character.
This commit is contained in:
Thomas Heller 2004-02-20 19:38:50 +00:00
parent 612371dcb3
commit 0bc9c919e8
1 changed files with 8 additions and 2 deletions

View File

@ -249,6 +249,9 @@ class bdist_wininst (Command):
if self.pre_install_script:
script_data = open(self.pre_install_script, "r").read()
cfgdata = cfgdata + script_data + "\n\0"
else:
# empty pre-install script
cfgdata = cfgdata + "\0"
file.write(cfgdata)
header = struct.pack("<iii",
0x1234567A, # tag
@ -261,8 +264,11 @@ class bdist_wininst (Command):
# create_exe()
def get_exe_bytes (self):
# wininst.exe is in the same directory as this file
from distutils.msvccompiler import get_build_version
# wininst-x.y.exe is in the same directory as this file
directory = os.path.dirname(__file__)
filename = os.path.join(directory, "wininst.exe")
# we must use a wininst-x.y.exe built with the same C compiler
# used for python. XXX What about mingw, borland, and so on?
filename = os.path.join(directory, "wininst-%s.exe" % get_build_version())
return open(filename, "rb").read()
# class bdist_wininst