summaryrefslogtreecommitdiffstats
path: root/Lib/distutils
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/distutils')
-rw-r--r--Lib/distutils/command/bdist_wininst.py547
1 files changed, 282 insertions, 265 deletions
diff --git a/Lib/distutils/command/bdist_wininst.py b/Lib/distutils/command/bdist_wininst.py
index b45089b..e3964b6 100644
--- a/Lib/distutils/command/bdist_wininst.py
+++ b/Lib/distutils/command/bdist_wininst.py
@@ -32,6 +32,10 @@ class bdist_wininst (Command):
"on the target system"),
('dist-dir=', 'd',
"directory to put final built distributions in"),
+ ('bitmap=', 'b',
+ "bitmap to use for the installer instead of python-powered logo"),
+ ('title=', 't',
+ "title to display on the installer background instead of default"),
]
boolean_options = ['keep-temp']
@@ -43,6 +47,8 @@ class bdist_wininst (Command):
self.no_target_optimize = 0
self.target_version = None
self.dist_dir = None
+ self.bitmap = None
+ self.title = None
# initialize_options()
@@ -117,7 +123,7 @@ class bdist_wininst (Command):
("'%s' not included in install_lib" % key)
arcname = self.make_archive(archive_basename, "zip",
root_dir=root_dir)
- self.create_exe(arcname, fullname)
+ self.create_exe(arcname, fullname, self.bitmap)
if not self.keep_temp:
remove_tree(self.bdist_dir, self.verbose, self.dry_run)
@@ -156,7 +162,7 @@ class bdist_wininst (Command):
if self.target_version:
lines.append("target_version=%s" % self.target_version)
- title = self.distribution.get_fullname()
+ title = self.title or self.distribution.get_fullname()
lines.append("title=%s" % repr(title)[1:-1])
import time
import distutils
@@ -167,7 +173,7 @@ class bdist_wininst (Command):
# get_inidata()
- def create_exe (self, arcname, fullname):
+ def create_exe (self, arcname, fullname, bitmap=None):
import struct
self.mkpath(self.dist_dir)
@@ -185,12 +191,23 @@ class bdist_wininst (Command):
"%s.win32.exe" % fullname)
self.announce("creating %s" % installer_name)
+ if bitmap:
+ bitmapdata = open(bitmap, "rb").read()
+ bitmaplen = len(bitmapdata)
+ else:
+ bitmaplen = 0
+
file = open(installer_name, "wb")
file.write(self.get_exe_bytes())
+ if bitmap:
+ file.write(bitmapdata)
+
file.write(cfgdata)
- header = struct.pack("<ii",
- 0x12345679, # tag
- len(cfgdata)) # length
+ header = struct.pack("<iii",
+ 0x1234567A, # tag
+ len(cfgdata), # length
+ bitmaplen, # number of bytes in bitmap
+ )
file.write(header)
file.write(open(arcname, "rb").read())
@@ -217,271 +234,271 @@ if __name__ == '__main__':
EXEDATA = """\
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
-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
+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
-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
+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
-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
+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
@@ -497,7 +514,7 @@ AAAAAAAAAAAAAAAAAAAAOuIAAEjiAABY4gAAAAAAAGbiAAAAAAAAdOIAAAAAAACE4gAAAAAAAI7i
AAAAAAAAlOIAAAAAAABLRVJORUwzMi5ETEwAQURWQVBJMzIuZGxsAENPTUNUTDMyLmRsbABHREkz
Mi5kbGwATVNWQ1JULmRsbABVU0VSMzIuZGxsAABMb2FkTGlicmFyeUEAAEdldFByb2NBZGRyZXNz
AABFeGl0UHJvY2VzcwAAAFJlZ0Nsb3NlS2V5AAAAUHJvcGVydHlTaGVldEEAAFRleHRPdXRBAABl
-eGl0AABFbmRQYWludAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+eGl0AABHZXREQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA