cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
stmcginnis
Level 3

Upgrade from InstallScript MSI to Basic MSI?

I have some products already deployed that were InstallScript MSI projects created with IS 11.5 and 2008. We've decided that Basic MSI is probably the best way going forward so now I am tasked with being able to upgrade these existing projects.

My first question is less important. Is there an easy way to convert an InstallScript MSI project to Basic MSI other than completely recreating the setup?

My second question is a little more involved. I have set up a Basic MSI project to test out the upgrade sequence. It appears to do the upgrade but has several issues.

1. The HKLM\SOFTWARE\Microsoft\Windows\Uninstall\{guid} key is removed but the ...\Uninstall\InstallShield_{guid} key is not removed so the old one is still listed in Add\Remove Programs.

2. The uninstall in the old project had an InstallScript callback that would kick off an external executable that would perform some custom uninstall actions. It looks like that did not get called in the uninstall when upgrading.

So my sneaking suspicion is that I will need to set up a custom CA to actually do the uninstall of the old product before doing the install of the new one. Is that the case?

Are there any other recommendations/suggestions/warnings when upgrading an existing InstallScript MSI product to Basic MSI?

Thanks for your help,
Sean
Labels (1)
0 Kudos
2 Replies
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

There is no conversion path from InstallScript MSI to Basic MSI. If you have the Premier edition of InstallShield, you can try using the Repackager to repackage the InstallScript MSI into a Basic MSI setup.

A custom action that runs the uninstall of an InstallScript MSI project is generally the recommended approach when changing from InstallScript MSI to Basic MSI projects. To get the old project to uninstall, you can read the UninstallString value from the product's InstallShield_{ProductCode} uninstall key, and pass /s /f1"C:\PathToReponseFile\setup.iss" at the end of the command line (the response file would need to be created and included in the Support Files in your new project). Alternately, you can pass /uninst on the command line, but this will not run the script in the same manner as it would normally run. The following KB article provides some additional information:
Q112578: HOWTO: Perform Major Upgrade of InstallScript MSI Project with Basic MSI
0 Kudos
stmcginnis
Level 3

Thanks Joshstechnij, that did the trick. I guess I need to get better about searching the KB articles. 🙂
0 Kudos