Add compression options to installer

Jul 12, 2010 at 1:02 PM
Is it possible to add other options to compress the final package like: lzma (/solid), zlib (/solid), bzip2 (/solid), or best compressor reduce size of final bootstrapper? Thanks! P.S: Very good tool to make BS, the use is very straightforward! Congratulations to the devs...
Coordinator
Jul 12, 2010 at 1:14 PM

Certainly "possible" as in "everything is code" :)

DNI uses CabLib, which makes CABs that are LZH. Adding another library would be some undertaking - you would need a managed version for InstallLinker and a native version for the bootstrapper. You'd want to link the bootstrapper with one or the other library too. It's questionable whether any of the ones you listed would be better than LZH.

Jun 7, 2011 at 9:01 AM

lzma can provide far better compression than lzh, depending on the content. For example I have an MSI that's 147MB when compressed with lzh, around 165MB when using mszip and 80MB using lzma.

Coordinator
Jun 7, 2011 at 11:15 PM

I don't believe you - half the size with LZMA?! I think you should tell the guy who writes CabLib, he's the kind to get upset when other people tell him there's software that works better than his. Maybe it will motivate him to support LZMA :)

Jun 8, 2011 at 9:37 AM

Actually LZX seems to be based on a old version of LZMA (1977). But to be honest like bcran stated, LZMA is much more fun as it compresses much better than the default CAB :-)

E.g. had a cab file (generated using InstallShield which also includes the cab algorithm) with size of 685 MBs. When packing the same files (Not re-packaging the cab!) using 7zip I got them down to 330 MB... I used LZMA with compression level ultra and dictionary size 384 MB - Think this was the limit for the 7zip and the installed RAM on my machine. The only point is that then you need approx 420 MB ram allocated for extracting the file but that should be no con for current systems.

Jun 8, 2011 at 9:51 AM

The problem is that CAB can either use MSZIP or LZH but Windows doesn't support LZMA compression by default. http://www.mail-archive.com/wix-users@lists.sourceforge.net/msg33639.html has an interesting discussion about the efficiency of compressed installers.

Coordinator
Jun 8, 2011 at 10:54 AM

So who's writing the code?