Skip to content
⌘ NSIS Forum Archive

A new encoding pass in the latest innosetup

4 posts

fabiochelly#

A new encoding pass in the latest innosetup

Innosetup seems to be able to compress exe files better using this method as they describe it in they "what's new" file:
Executable files are now compressed even better, thanks to a new encoding/decoding pass that optimizes x86 JMP & CALL instructions.
Is there a relation between this method and the BCJ/BCJ2 methods?

Is it possible to implement it in NSIS?
Joost Verburg#
Yes, that is BCJ. This feature has been requested before and is already on the request list.
mlaan#
Actually, it's not BCJ but a similar custom algorithm. Interesting to realize though that until NSIS has something like this, some Inno Setup installers might actually be *smaller* than NSIS installers 😉
Joost Verburg#
All these algorithms work quite similar, it gives you a little better results on compressed x86-32 executables. BCJ2 is even better, but that requires mutliple threads.

Depening on your data, it usually saves some kilobytes, but before you compensate a > 200 KB overhead difference your installer is probably quite large so the overhead is not really important anymore.

Anyway, it's still a nice feature, so hopefully someone will find time to integrate it soon 🙂