Archive: NSIS rulez


NSIS rulez
Hello guys :)
Thanx for great work. NSIS is cool.
Time has come to use NSIS in my commercial application. Some features I've missed in current version (was 2.05), are:

1. Compression progress. Very useful feature when you installer is about ~30 mb and you are using LZMA, since your computer looks like freezed. And "must have" with BIG installers.
2. File @list support. support of filelists for FILE script command. for example I need to include in my installer some files for redistribution from the other kit, only 100 files from 300. 100 FILE commands? I think that's ugly. I couldn't just copy them to a separate folder and compress using /r since the installer should compile at any computer (we have kit at every, but create a special 100 mb folder :-O).
3. Exeheads export. Actually I've implemented first two features to the makensis, but... I don't like my exeheads, they are usually some KB's larger than original ones, so... It would be very usefull if makensis will have an option like /EXEHEADS, to export them all in three separate exe files. So I'll be able to create new makensis with your exeheads.

Last time I solved the problem by creating the null installers and stripping nsis data sections. very ugly way, and now 2.06 is out, and... :(( This time I'll compile exeheads of course (with 2mb installers it doesn't matter), but anyway.

Added file syntax:

FILE [/a] @filelist SourceFolder

filelist - file with files list
SourceFolder - all the files from the list are searched at this folder (relative to it).

Attached file contains modified sources (ugly, I know :)),
here is the link to my build of NSIS 2.06 with first 2 features implemented:


NSIS 2.06 Brainsucker's Build


The file list could be nice, but I'd prefer if it worked just like any other file that is given to File. The way you've implemented it, it doesn't support any of the switches File accepts.

Progress could be nice, but I'd prefer if it wasn't printed like that. My original idea was to post it as Windows messages or in a shared memory that MakeNSISw can read and display. But I never got to it :(

2.07 will probably contain the installer stubs outside of makensis.exe, so there won't be any need to extract anything. But compiling with vc7 shouldn't create stubs several kilobytes larger. On my tests, they came out just 0.5KB-1KB larger. Make sure you use all the right compiler flags.