Archive: diff between zlib and ms cab format


diff between zlib and ms cab format
I rebuild the msmessager v4.5 use nsis 1.7
the orignal size 1,691,248 bytes
decompressed size
3,561,302 bytes
nsis installer size
1,914,753 bytes
files list
2001-11-14 10:18 74,960 ADVPACK.DLL
2001-11-14 10:19 7,665 license.txt
2001-09-12 03:00 4,514 logo.gif
2001-06-06 03:00 4,821 logowin.gif
2001-06-06 03:00 7,047 lvback.gif
2001-11-14 10:19 835 mailtmpl.txt
2001-11-06 13:01 24,848 migrate.dll
2001-11-06 14:51 64,080 msgsc.dll
2001-11-14 10:30 213,264 msgslang.dll
2001-11-06 13:01 4,496 msgsmigr.dll
2001-11-06 14:23 1,421,584 msmsgs.exe
2001-11-14 10:30 41,804 msmsgs.inf
2001-11-06 13:01 28,944 msmsgsin.exe
2001-11-06 14:51 391,760 msnchat.ocx
2001-11-14 10:19 69,083 msnmsgr.chm
2001-04-27 08:56 2,882 newalert.wav
2001-04-27 08:56 6,156 newemail.wav
2001-04-27 08:56 6,160 online.wav
2001-06-14 03:00 79,041 qmgr.cab
2001-06-14 03:00 2,072 qmgr.inf
2001-11-14 10:30 570,368 rtcdll.dll
2001-10-16 05:44 445,440 rtcrtp.dll
2001-04-27 08:56 4,454 type.wav
2001-11-14 10:18 2,272 W95INF16.DLL
2001-11-14 10:18 4,608 W95INF32.DLL
2001-11-14 10:19 78,144 xpmsgr.chm


I've noticed the same when redistributing VB6-runtimes; Microsoft Self-extracting Cab = 1.0 MB; NSIS-compressed is about 1.2-1.4MB.


I have also noticed that sometimes CABs that I create with WinAce have better compression than RAR and ACE counterparts, even if they are the maximum compression, maximum dictonnary size and solid archiving on.

I think Cabinet file format is using a kind of solid archiving and Microsoft never told us.

At this moment, there is no real solid archiving in NSIS, just a datablock optimiser that save a little space.


>> I think Cabinet file format is using a kind of solid archiving and Microsoft never told us.

I don't think it is a solid archiving because that would affect the seeking time. If you have a solid rar archive and you want to view the last file from the archive you will have to go through the whole archive, but with the cab archive you don't have this kind of behaviour, maybe they keep a table with seek pointers... who knows...

cristi.