After breeding over this subject for a couple of days, I was owned by curiosity. So I actually tried recompressing a freshly installed Code::Blocks distro.
The result is, unless I have done something seriously wrong, quite disappointing.
The installer was made using the HM NSIS editor wizard, includes everything inside the Code::Blocks installation directory, "modern" GUI, no branding bitmaps, one language (English). LZMA compression and relative filenames were used, standard uninstaller, no extras, no start menu entries, no bells no whistles.
(N.B.: NSIS could shave off a few kilobytes using the "classic" UI rather than "modern", but we have to compare apples to apples - the Inno installer uses "modern" style, too. Further, note that the Inno Installer uses branding bitmaps which I omitted.)
Original installer: | 3.474.193 |
NSIS 2.10: | 4.024.380 |
This is counterintuitive because it reads everywhere that NSIS builds the smallest installers, but I guess the numbers are quite clear.
UPDATE:Everybody knows that compressing compressed data is a really stupid idea.
Anyway, I said "what the heck", and ran UPX before building the installer.
exchndl.dll and
mingwm10.dll do not like being UPXed at all, you will need to reboot your PC to remove file locks and reinstall Code::Blocks to get it to work again (
upx -d will not restore functionality).
Everything else works just fine, though. Running
upx -9 codeblocks.dll codeblocks.exe wx*.dll before building the installer results in 3.863.688 bytes. Not much, but we're getting closer
