makensis-bz and makensis-zzip compare
the first test data block to select the best one
the later seems to have the best ratio of all
could you add those feature to makensis
http://mentasm.com/~zed/nsis/makensis_bz.exe
http://mentasm.com/~zed/nsis/makensis_zzip.exe
MakeNSIS v1.44 - Copyright 1999-2001 Nullsoft, Inc.
Portions Copyright (C) 1995-1998 Jean-loup Gailly and Mark Adler.
Contributors: nnop@newmail.ru, Ryan Geiss, Andras Varga, Drew Davidson, et al.
Use the /LICENSE switch to view license information.
-=-=-=-=-=-=-=-=-=-=- Processing config -=-=-=-=-=-=-=-=-=-=-
-=-=-=-=-=-=-=-=-=-=- Processing script -=-=-=-=-=-=-=-=-=-=-
Script file: "example1.nsi"
!packhdr: filename="tmp.dat", command="C:\winnt\upx -9 -q tmp.dat"
Name: "Example1"
OutFile: "example1.exe"
InstallDir: "$PROGRAMFILES\Example1"
DirText: "This will install the very simple example1 on your computer. Choose a directory"
Section: "ThisNameIsIgnoredSoWhyBother?"
SetOutPath: "$INSTDIR"
File: "winhlp32.exe" [compress]
@@@ [100kb block] 141357 bytes
@@@ [200kb block] 138972 bytes
@@@ [300kb block] 139635 bytes
@@@ [400kb block] 139635 bytes
@@@ [500kb block] 139635 bytes
@@@ [600kb block] 139635 bytes
@@@ [700kb block] 139635 bytes
@@@ [800kb block] 139635 bytes
@@@ [900kb block] 139635 bytes
@@@ [200kb block] 138972 bytes *** BEST!
138972/269584 bytes
File: "winhelp.exe" [compress]
@@@ [100kb block] 133528 bytes
@@@ [200kb block] 131662 bytes
@@@ [300kb block] 128850 bytes
@@@ [400kb block] 128850 bytes
@@@ [500kb block] 128850 bytes
@@@ [600kb block] 128850 bytes
@@@ [700kb block] 128850 bytes
@@@ [800kb block] 128850 bytes
@@@ [900kb block] 128850 bytes
@@@ [300kb block] 128850 bytes *** BEST!
Ultimate Packer for eXecutables
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
UPX 1.20w Markus F.X.J. Oberhumer & Laszlo Molnar May 23rd 2001
File size Ratio Format Name
-------------------- ------ ----------- -----------
39424 -> 22016 55.84% win32/pe tmp.dat
Packed 1 file.
128850/261616 bytes
SectionEnd
Locating install icon after compress: found at offset 20590
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Output: "example1.exe"
@@@ [100kb block] 315 bytes *** BEST!
Install: 1 section (1 required).
Install: 4 instructions, 191 byte string table.
EXE header size: 22016 / 39424 bytes
Install code+strings: 351 / 491 bytes
Install data: 267830 / 531208 bytes
CRC (0x4E0B8DB7): 4 / 4 bytes
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Total size: 290201 / 571127 bytes (50.8%)
MakeNSIS v1.44 - Copyright 1999-2001 Nullsoft, Inc.
Portions Copyright (C) 1995-1998 Jean-loup Gailly and Mark Adler.
Contributors: nnop@newmail.ru, Ryan Geiss, Andras Varga, Drew Davidson, et al.
Use the /LICENSE switch to view license information.
-=-=-=-=-=-=-=-=-=-=- Processing config -=-=-=-=-=-=-=-=-=-=-
-=-=-=-=-=-=-=-=-=-=- Processing script -=-=-=-=-=-=-=-=-=-=-
Script file: "example1.nsi"
!packhdr: filename="tmp.dat", command="C:\winnt\upx -9 -q tmp.dat"
Name: "Example1"
OutFile: "example1.exe"
InstallDir: "$PROGRAMFILES\Example1"
DirText: "This will install the very simple example1 on your computer. Choose a directory"
Section: "ThisNameIsIgnoredSoWhyBother?"
SetOutPath: "$INSTDIR"
File: "winhlp32.exe" [compress] 132987/269584 bytes
File: "winhelp.exe" [compress] Ultimate Packer for eXecutables
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
UPX 1.20w Markus F.X.J. Oberhumer & Laszlo Molnar May 23rd 2001
File size Ratio Format Name
-------------------- ------ ----------- -----------
35840 -> 20992 58.57% win32/pe tmp.dat
Packed 1 file.
126191/261616 bytes
SectionEnd
Locating install icon after compress: found at offset 19566
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Output: "example1.exe"
Install: 1 section (1 required).
Install: 4 instructions, 191 byte string table.
EXE header size: 20992 / 35840 bytes
Install code+strings: 281 / 503 bytes
Install data: 259186 / 531208 bytes
CRC (0x5F4686A0): 4 / 4 bytes
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Total size: 280463 / 567555 bytes (49.4%)
MakeNSIS v1.70 - Copyright 1999-2001 Nullsoft, Inc.
Portions Copyright (C) 1995-1998 Jean-loup Gailly and Mark Adler.
Contributors: nnop@newmail.ru, Ryan Geiss, Andras Varga, Drew Davidson, Peter Windridge, Dave Laundon, et al.
-=-=-=-=-=-=-=-=-=-=- Processing config -=-=-=-=-=-=-=-=-=-=-
-=-=-=-=-=-=-=-=-=-=- Processing script -=-=-=-=-=-=-=-=-=-=-
Script file: "example1.nsi"
!packhdr: filename="tmp.dat", command="C:\winnt\upx -9 -q tmp.dat"
Name: "Example1"
OutFile: "example1.exe"
InstallDir: "$PROGRAMFILES\Example1"
DirText: "This will install the very simple example1 on your computer. Choose a directory" "" ""
Section: "ThisNameIsIgnoredSoWhyBother?"
SetOutPath: "$INSTDIR"
File: "winhlp32.exe" [compress] 143781/269584 bytes
File: "winhelp.exe" [compress] Ultimate Packer for eXecutables
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
UPX 1.20w Markus F.X.J. Oberhumer & Laszlo Molnar May 23rd 2001
File size Ratio Format Name
-------------------- ------ ----------- -----------
34816 -> 20992 60.29% win32/pe tmp.dat
Packed 1 file.
137236/261616 bytes
SectionEnd
Locating install icon after compress: found at offset 19566
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Output: "example1.exe"
Install: 1 section (1 required).
Install: 4 instructions (96 bytes), 532 byte string table.
EXE header size: 20992 / 34816 bytes
Install code+strings: 516 / 928 bytes
Install data: 281025 / 531208 bytes
CRC (0xB3473048): 4 / 4 bytes
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Total size: 302537 / 566956 bytes (53.4%)