According to the answers to this question, I cannot embed a file version in my .msi file.
The installer that I give the client needs to have a file version.
So, what I want to do is create a self-extracting executable containing the msi file and the setup.exe generated by Visual Studio, and put the file version on this self-extracting executable instead.
Therefore, I need a utility to create self-extracting executables which supports embedding a file version in its output. It also needs to support automatically running a file after extraction, so I can start the real installer automatically. It would be nice if it was scriptable.
All I could find was this, which looks great, but I would much prefer a free alternative.
Does anyone have any suggestions?
Edit: To clarify, I'm not really looking to create an installer - I already have a VS setup project. I just want a self-extractor (like WinZip can create). So, the user mouses over Setup-Blorgbeard2008.exe, sees "Version: 1.0.0.0". User doubleclicks it, it silently extracts setup.exe and setup.msi to a temp folder, then runs setup.exe. User then sees normal installer screen and proceeds as normal.
Another Edit: Yay, I don't need a self-extractor anymore, since my other question has now been answered. That makes this whole question pretty much irrelevant. It would still be nice to be able to distribute only one file, rather than setup.exe and setup.msi.
Little bit surprised that it is not listed here yet: IExpress is a simple tool coming with Windows and can be used to create self-extracting installers.
NSIS can do this.
Part of our build environment is a script that outputs version information to a "header" file that our NSIS script sources. You should be able to use something similar to embed your version information and you can certainly get NSIS to run a file after extraction.
In fact, as NSIS creates the installer package... you may be able to simplify your approach a great deal.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With