Archive: Suggestion for Version info


Suggestion for Version info
What I'd like to do is set the version of the installer created by NSIS to be the same version as one of the files I'm adding to the installer (namely the main EXE file).

In other words, the main file being installed is APP.EXE and I'm creating an NSIS installer file called APPINSTALL.EXE. I'd like the Version Info resource in APPINSTALL.EXE to have the same version number as the resource in APP.EXE.

Right now I can only specify a constant x.x.x.x value with VIProductVersion. The function to grab a version from a DLL/EXE called GetDllVersionLocal can only be used in a function, and functions cannot be used at compile time.

So, either I'd like to see compile-time scripting and functions, or someway to specify the name of a DLL/EXE to copy the version info from.

Thanks for listening and keep up the good work.


Btw, the reason I'd like this and am not just doing it manually is that I'm running NSIS from a nightly-build script where the version of the APP.EXE file is incremented automatically.

I wrote a program to copy this version info into APPINSTALL.EXE after NSIS is finished, but then this changes the CRC on the installer so I had to turn off the CRCCheck option. If NSIS had a way to set the version from within the compiler then I wouldn't have to patch it afterwards like I'm doing now.


You can write a program which will extract the version information from APP.EXE into a file your script can later include using !include. To execute this program automatically, use the !system command. This program can be easily written as a NSIS installer.