So you have created a nice application that compiles for Windows, now would't it be nice if you could also create a Windows installer for it?

Ofcourse it would, and ofcourse you can, using Linux natrually.


I haven't found a "pure" Linux way yet but the Wine approatch works just fine so it's not much of a problem to me.

First I would like to recomment to create a ekstra wine configuration just for running the Installer software, this way other installed wine software/setups don't mess with the installer.
This is done by setting the WINEPREFIX enviroment variable.
I personaly use $HOME/.wineInstaller (export WINEPREFIX=$HOME/.wineInstaller) read man wine for more details.


First you need to install wine. Debian users may just apt-get install wine wine-utils winesetuptk
Set the WINEPREFIX enviroment variable.
Create a new wine config using winesetup


Now you should be ready to install the installer software. I use InnoSetup, it's free, it works and you can even get the sources. I just wish more Windows software were like this.
InnoSetup
Run the downloaded .exe though wine and you should have InnoSetup installed in no time.
When I last installed it the installer coughed about it not being able to create something. Works fine though.


I also highly recommend that you get ISTool a GUI for creating the script files that InnoSetup uses.
wine also coughed during the install of ISTool, this time I paid attension, I noticed it was durring the creation of some shortcuts. Well nevermind them.

If you chose the default locations you should now have the software installed under:
$HOME/.wineInstaller/fake_windows/Program\ Files/

If you cd $HOME/.wineInstaller/fake_windows/Program\ Files/ISTool/ you should be able to run wine ISTool.exe and create an installer script for InnoSetup.