7
votes

We recently moved from a Visual Studio setup msi-based installer to Inno Setup but we're having issues with upgrading existing installs using this new installer. I know that the upgrade code remains static even as the product code changes every update, so I initially tried to set that as the AppId in the Inno Setup project, but that doesn't work. I then tried a number of other guid's none of which work.

Is there a way to properly upgrade an msi install with an Inno Setup installer?

3

3 Answers

8
votes

No, I don't think so - InnoSetup is expressly NOT an MSI-based installer.

You will need to first properly uninstall your old MSI-based installation using e.g. msiexec /X (product-code or MSI file name), and then you can install the new stuff using InnoSetup.

1
votes

It's not a good idea switching away from windows installer. inno setup is a legacy install technology.

better stay on your msi, they are necessary for windows logo and they are future proof.

if you need a cost free tool for creating msi's or do you need something that integrates into continues integration perfectly, then take a look at WIX.

Windows Installer XML

1
votes

To install an .MSI file from within an Inno Setup installation, try these lines:

[Files]
Source: "Your-MSI-File.msi"; DestDir: "{tmp}"

[Run]
Filename: "msiexec.exe"; Parameters: "/i ""{tmp}\Your-MSI-File.msi"""

Credits for Alex Yackimoff http://www.jrsoftware.org/iskb.php?msi