- NSIS Discussion
- how to less size of NSIS file?
Archive: how to less size of NSIS file?
XNeo
6th January 2004 01:57 UTC
how to less size of NSIS file?
i already compress files by UPX.
and but, how to more less size of nsis installer file?
NSIS exe -> SFX ?
or using tools like zipdll?
i saw a file which make by NSIS.
this file size is 7MB, but execute file, and check all sectionm, required HDD size is 50MB!!!
how to less size like this?
i really want know.
###see attached file
myne
6th January 2004 02:51 UTC
NSIS compression works best on files that are not already compressed.
Example : If nsis compresses a 5mb .zip file full of 10mb .txt it wont go much smaller than 5mb.
Example : If nsis compresses the 10mb .txt's it should go lower than 5mb - maybe as low as 2 - 3mb.
So dont compress with UPX.
Sorry, I've tried to make this as simple as possible. I hope you understand it.
Joost Verburg
6th January 2004 13:36 UTC
Always compress files only once.
The latest NSIS 2 version support LZMA compression, which performs very well.
n0On3
7th January 2004 19:36 UTC
afaik, upx doesn't compress txt files, only exes.
I just tested with the program DC++ and using UPX made the installer 21kB smaller, always with LZMA.
Joost Verburg
7th January 2004 19:48 UTC
UPX should only be used to compress the exehead (use !packhdr), it will save a few KB's.
n0On3
7th January 2004 20:29 UTC
the 21kB I said was for the exe *in* the installer, nothing to do with the header.
Joost Verburg
7th January 2004 20:49 UTC
The whole point of UPX is that it can be used to compress executables files and keep them executable. If you add files to an archive UPX won't be an efficient method.
n0On3
7th January 2004 23:53 UTC
I don't know what you mean for eficient, but if you mean 'smaller', then, it can be more eficient to compress with upx first.
UPX is designed to compress exes, LZMA is designed to compress anything. UPX can therefore be optimized for some things lzma is not.
I don't want to insist on this, but I've done various installers and upxing the exe before building the installer always gave better results.
hotice
8th January 2004 10:13 UTC
Originally posted by n0On3
I don't know what you mean for eficient, but if you mean 'smaller', then, it can be more eficient to compress with upx first.
UPX is designed to compress exes, LZMA is designed to compress anything. UPX can therefore be optimized for some things lzma is not.
I don't want to insist on this, but I've done various installers and upxing the exe before building the installer always gave better results.
you are right in nsis zlib/lzma
not sure in bzip2
not in ms's makecab,you can find in ms's ieak
Joost Verburg
8th January 2004 14:56 UTC
But you still end up with a compressed exe file that will start slower and use more memory.
n0On3
8th January 2004 16:32 UTC
Originally posted by Joost Verburg
But you still end up with a compressed exe file that will start slower and use more memory.
yeah, miracles do not exist ;)
anyway, what does this mean?
UPX is a free, portable, extendable, high-performance executable packer for several different executable formats. It achieves an excellent compression ratio and offers very fast decompression. Your executables suffer no memory overhead or other drawbacks because of in-place decompression.
the "no memory overhead" part. I thought it *had* overhead :eek:
Joost Verburg
8th January 2004 16:41 UTC
If you only start one instance it won't be such a problem, but with multiple instances it will definately use more memory.
LZMA works fine for EXE files too. Because it doesn't have to create executables, the compression is usually better.