Size: 3533
Comment: lzma-Bemerkung eingefügt
|
Size: 3535
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
within samples/extending Thomas Heller gives a Py2Exe setup.py scipt which automagically calls [http://www.jrsoftware.org/isinfo.php InnoSetup] to create a great looking (and perfectly working) Windows-Installer. Yes, really, ONE setup.exe is created which contains ALL stuff to have a readily installable Software out of your product. | Within samples/extending, Thomas Heller gives a Py2Exe setup.py script which automagically calls [http://www.jrsoftware.org/isinfo.php InnoSetup] to create a great looking (and perfectly working) Windows-Installer. Yes, really, ONE setup.exe is created which contains ALL stuff to have a readily installable Software out of your product. |
Line 7: | Line 7: |
I programm using wxPython. A great library, a large library. | I program using wxPython. A great library, a large library. |
Line 20: | Line 20: |
giving more than 6 Megabyte with no line of code written | giving more than 6 Megabytes with no line of code written |
Something great
Within samples/extending, Thomas Heller gives a Py2Exe setup.py script which automagically calls [http://www.jrsoftware.org/isinfo.php InnoSetup] to create a great looking (and perfectly working) Windows-Installer. Yes, really, ONE setup.exe is created which contains ALL stuff to have a readily installable Software out of your product.
also large
I program using wxPython. A great library, a large library.
2.240.512 wxc.pyd 3.416.064 wxmsw24uh.dll
Two modules you cannnot skip. In addition there is as allways
974.915 python23.dll
giving more than 6 Megabytes with no line of code written
In total:
28 Datei(en) 9.549.525 Bytes (in lib)
and
2 Datei(en) 1.011.779 Bytes (in prog)
summing up to 10.5 Megabyte ... not much with DSL, but... shocking, isn't it?
get it smaller
In the standard configuration [http://www.jrsoftware.org/isinfo.php InnoSetup] compressed it down to around 6.5 Megabyte.
I changed the setup.py to contain
... the special line is
1 print >> ofi, r"Compression=bzip"
the result
4.335.283 setup.exe
Quite an OK download ... and I use ZODB and Elementtree and pythoncom and and and....
Remarks
I ([http://videocapture.sourceforge.net/ MGr]) get for my application (which uses wxWindows) even smaller files when using 7-zip instead of bzip. To use 7-zip one has to specify "Compression=none" in the generated installer script (*.iss) and then manually load the script into [http://www.istool.org/ ISTool], which is a front end to Inno Setup. Clicking at the 'Options' button and selecting '7-zip' in the compression combo box does the trick.
7.208 kB uncompressed 2.886 kB zip 2.677 kB bzip 2.160 kB 7-zip
The previous comparison shows, that 7-zip results by far in the smallest installer size. An additional benefit of using 7-zip is the fast installation. When using bzip, the files are decompressed in the last step of the installation process, right then when the files are written to the program folder. Since bzip is computationally quite intensive, the progress bar fills not extremely fast. When using 7-zip, there is a short decompression when starting the installer, but the installation process afterwards it fast as lightning, because of "Compression=none"
.
Addition:
Innosetup 4.2 has 7z "LZMA" compression included. Just use
1 print >> ofi, r"Compression=lzma/max"
HAM2005-05-20
7ZIP and UPX
Repacking the "library.zip" with [http://www.7-zip.org/ 7-ZIP] saving 357KB (577KB original to 220KB 7ZIP compressed)
Using [http://upx.sourceforge.net/ UPX ] the executable packer to compress *.pyd, *.dll and *.exe Files:
Example: _sre.pyd, _winreg.pyd, python23.dll, unicodedata.pyd, w9xpopen.exe, zlib.pyd 1516,2KB original to 584KB compressed)
Everything together: Original Size: 2093,2 compressed: 804KB !!!
A shot Windows Batch-File to automate (see WinBatch):
7z.exe -aoa x library.zip -olibrary\ del library.zip cd library\ 7z.exe a -tzip -mx9 ..\library.zip -r cd.. rd library /s /q upx.exe --best *.*