Convert Inno Setup installer to MSI?
The best way to reuse the investment in your Inno Setup project is to wrap the installer in an MSI package. This is not ideal buy way better than repackaging. Just make sure that your MSI package supports updates and uninstall. There is a free tool at www.exemsi.com that supports this. It is a bit technical but it does a good job.
I first run the program's installation with the /SAVEINF="filename" option to save an answer file. I don't run setup with the answer file though, I just open it to see what all parameters I will need to pass to do a silent setup with the options I want. I then use Windows Installer Wrapper Wizard to create an msi that runs the setup with the /silent switch and all the switches to pass the parameters I got from the answer file to the setup. I also add the uninstall into to the wrapper wizard; with Inno Setup it should be an executable in the programs folder called uninst000.exe and add the /silent switch. Also, be sure to check Ã¢Â€ÂœPrevent the application from display in the Add/Remove programs listÃ¢Â€Â in the wrapper wizard otherwise it will show up twice.
Details on all the switches that can be used with Inno Setup can be found here: http://gnuwin32.sourceforge.net/setup.html
But to put it concisely, a repackaged app using differential snapshots can (usually) only be successfully deployed to a machine exactly like the one it was repackaged on. Using the method I described above with the wrapper, I can deploy this to any machine, with any configuration, and any OS (that supports msi deployed applications) and it will install as smoothly as if I was at the machine invoking the setup executable myself.
stop listening to packaging-haters. What kind of alternative do they offer? Give everybody admin rights to install software? Or shell out $$$ on SMS or another software deployment tool?
No, I do NOT give users admin rights. The method I described about creates an MSI package that can be deployed with all the advantages of MSIs. And if you ask me, it was much easier than taking snapshots, mainly because I didn't have to set up a "clean" system. Even Microsoft has bad things to say about using snapshots to re-package.
The method I used is a LOT easier and results in a better package, so why not do it that way?
so that the conversation will remain readable.