Archive: NSIS help - creating conditional patch installer


NSIS help - creating conditional patch installer
I am new to installers generally, but it looks like NSIS can do what I'm after, I just need some guidance to make it happen. Here is my situation and logic flow.

I have a software package that I am installing on a number of client machines. Each client machine performs the same function, but must have a unique identifier in output files. There is a TON of setup and configuration across the many client machines, but most of these configurations are in XML, ini, and par files, all of which are text editor readable.

The host software has a working directory structure that contains all of the configuration files/folders, so it should be pretty easy to back up a copy of the clean install, go through the setup process with Machine #1, and then use those two directory structures as my 'patch' base.

Finally, I'd like to have a user input in the install script that asks for the name of the machine, and then subsequently inserts that name in all of the correct places in the xml, ini, and par files.

The end result would be that I would run two installation programs. One that sets up the virgin program as it comes from the manufacturer, and then the NSIS program that would then 'patch' the virgin installation with all of my configuration files, complete with named instances for each machine.

I'd be greatly appreciative of any help, pointers, or advice in accomplishing this goal.


For custom dialogs you have nsDialogs. For XML you have the XML plug-in. For INI files you have WriteINIStr (see manual). As for par files, I'm not sure what the format is so you'll have to find your own way to writing those using FileOpen/FileWrite unless you can find something already done.

Stu