Ultra very high compression
Hi,
idea3200.zip (Windows pack) is 40,674,384 bytes long and contains NO JRE.
idea3200.exe (Windows Installer) is 49,150,108 bytes long and DOES
contains JRE.
idea3136-jre.zip is 20,009,488 bytes long.
I compressed the IDEA JRE folder using 7Z format ultra compression and
the smallest file I got was 11,866,302 bytes long.
Which ultra very high compression method you guys use to include JRE
plus Installer in less than 9 MB?
Is it possible that .zip file contains something that .exe does not?
Thanks,
Franklin.
Please sign in to leave a comment.
LZHA compression, which is the same as 7zip AFAIK. Run from NSIS installer.
Franklin wrote:
1. Normal zip compression is supposedly not as good as 7Z compression.
Thus the file sizes if the zip files cannot be directly compared to the exe.
2. The data portion of the exe that is compressed may be compressed as a
whole and not as separate two separate compressed chucnks, IDEA data &
JRE data, thus allowing the compression algorithm to optimize the
compression for both.
Ciao,
Gordon
Just curious, why did you choose NSIS and not Inno Setup?
Tom
I've evaluated 5 installers (both paid and free) but not Inno Setup. Will
look into.
After I sent this post I realized that. I converted the idea3200.zip to
idea3200.7z ultra compression solid archive and it's ~35 MB. I was going
to ask Maxim to use a LZMA compressor and create a self extract file but
the difference (~5 MB, for now) isn't that much.
Franklin.
Gordon Tyler wrote:
>> idea3200.zip (Windows pack) is 40,674,384 bytes long and contains NO JRE.
>>
>> idea3200.exe (Windows Installer) is 49,150,108 bytes long and DOES
>> contains JRE.
>>
>> idea3136-jre.zip is 20,009,488 bytes long.
>>
>> I compressed the IDEA JRE folder using 7Z format ultra compression and
>> the smallest file I got was 11,866,302 bytes long.
>>
>> Which ultra very high compression method you guys use to include JRE
>> plus Installer in less than 9 MB?
>>
>> Is it possible that .zip file contains something that .exe does not?
Have you considered using Pack200 somehow? It's how Sun gets their JRE's
down so small. I don't know if Sun will lend you a library or if you'd have
to implement it yourself. I suspect you could compile the classes to native
code with GCJ then use them in the installer, but maybe that wouldn't work.
-Keith