Archive: How many NSIS versions there are ?


How many NSIS versions there are ?
Recently, there are some modified versions of NSIS floating. Listing them and their relationship together would be a good idea.

I am building a tree of all NSIS versions I know :

Nullsoft Install System v1.44 (Justin Frankel)


I also wrote a few NSIS patches a while ago and wrote makefiles for VC++ 4.0. It really just mimicks the original NSIS, but includes a few extras like SHBrowseForFolder (for an extra select folder dialog).
I also wrote a small tool to extract files from an NSIS exe (will only work with original NSIS .exes, or any modified version that does not alter the value of the 'IL' codes on or before the EW_EXTRACTFILE command.

I am also working on my own install system, inspired by NSIS that only links the required code at compile (additional .obj files can be included to add extra functionality). This way, the exe head is always the smallest required.

http://www.incomplete.co.uk/nsis.htm


Can't some of these versions be merged?
eg, create compiler flags to choose from ZLIB, BZIP2 and ZZIP compression? Won't this make things easier to understand?


Without a modular installer (which I am currently working on, slowly, in my spare time), this would lead to a big makensis -> 3*exe headers and deflate code for ZLIB, BZIP2 and ZZIP. On the other hand there is a perfectly reasonable argument that goes .. you only need to compile the installer once, and developers wont mind a one off largish download.


Unfortunately, the total size of package would increase a lot for small programs to install. So, continue your modular installation, but I would like to be able to transfer rapidly my French translation (I don't want to translate a second time).


No Repzilon, pjw62 means that there is one single source, with compiler flags which allow selection between different compression. Then, 3 exe headers are created and put into makensis.
Basically, this would mean that the installer size remains the same, but that you can use a single makensis version.

Note that for me it'd be good enough if the compiler flags allowed one compression to be selected at a time, because I'd recompile it myself 3 times.