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

How to disable minor/major upgrades?

I currently develope InstallShield 2009 IS-MSI project. I did the jump from InstallShiled 5.0. When I run the 2009 setup on the top of the 5.0 install then the installation behaves like the initial one which is expected. When I run my 2009 setup on the top of the 2009 install then I have to deal with the upgrades. I want my setup to behave like it was the initial clean install without invoking the upgrade process. Is there any setting which will allow me to achieve it? I already looked under Media\Upgrades\Upgrade Windows Installer Setup in project tree but there is nothing there to change that behaviour.

I would appreciate any help on this one!
Thanks!
Labels (1)
0 Kudos
(2) Replies
KathyMorey
Level 10

You can make an MSI act like a first time install every time, but it isn't particularly clean, and by doing so you will lose the ability to uninstall it, and will lose its in-built repair functionality.

To do it, add a property called ARPSYSTEMCOMPONENT to the Property Manager with a value of "1" to prevent the app from showing in the Add/Remove Programs (Programs and Features) applet.

Condition the following MSI standard actions so they will never execute:
RegisterProduct
RegisterUser
PublishFeature
PublishProduct

If these actions don't run, Windows Installer won't have the registry keys its needs to recognize that your product has been installed, so it will always act as a first-time install. (But since it won't recognize your product, you won't be able to uninstall it.)

Note also that the components in your product will still be individually registered, but those registry entries will be "orphans" because the corresponding product entries won't be there.

I would suggest that you look into using an InstallScript project instead, if you can, as it is better able to install without leaving a footprint than an MSI.
0 Kudos
blaza76
Level 3

Kathy,

Thank you very much for your reply. I agree with you, it would not be a clean solution and will defeat the purpose of using the MSI. It will make more sense to come up with an installscript only project.

Thank you again,
Bartek
0 Kudos