Archive: Include compiled modules


Include compiled modules
I'm running an installer which include a lot of small files.

Once completed, choosing no compression (nor in the script nor at command line), the resulting file is 46MB. Compressed with bz2 is 26MB.

Since the application is divided into modules and the user doesn't always install all of them, I would like to divide even setup into smallest pieces / modules, because it take about 20 mins to compile.

Compressing file before launching NSI compile I save 5 mins.

Dividing into smallest modules, I should save time, because I should re-compile only the one changed.
And since NSI script file is the one often changed I would save a lot ot time.

Does any one know how to or have any idea to achive this?

Thanks in advance


You can copy external files using CopyFiles or decompress them using plug-ins like ZipDLL and ExtractDLL.


since you're a junior member, i want to add this: since NSIS 2.0 RC1 there's LZMA compression, which in most cases produces smaller installers. in case you weren't aware or didn't try that one.


Are you using a very old computer? 20 minutes for 25 MB sounds almost impossible.


I think it is prossible using a old computer. I had a computer with Pentium 166, 16 MB RAM before, I compiled my program "Registry Changer - C-Evo" (2.26 MB) with LZMA in 1 minute or more (I don't really know if this is right, but was slow for me...)


But BZIP2 compresses a lot faster.


Originally posted by Yathosho
since you're a junior member, i want to add this: since NSIS 2.0 RC1 there's LZMA compression, which in most cases produces smaller installers. in case you weren't aware or didn't try that one.
Well, I'm a junior member because I just registered, but I'm using NSIS for almost an year.
Anyway, any suggestion are well accepted.

The computer I'm compiling with is a P-III @ 800MHz.
I'm sorry for being not so clear, but 25MB is the size of compressed compiler. The source data are about 100MB. Almost all text of 1Kb to 4Kb, so a lot of small files to be compressed, and I fear this was the cause of so much time to compile.