Upgrade Application and Uninstall

Hi Guys. Hope you can help me with a little issue i have. First off i dont claim to be a packaging god but know enough to get by.

I have an application that is installed on users machines and i have the same application but with updated files and registry keys etc etc. I would like to uninstall the previous version if found and then install the latest version.

Now i have been looking at the Upgrade table. I have put in the upgrade code of the previous version, the VersionMin, Attributes 258 and ActionProperty NEWERPRODUCTFOUND

However when the application is installed it just installed the new one. If i look in Add \ Remove programs in windows i can see both my applications installed.

Can anyone advise on how i can achive what it is i am trying to do

Thanks in advance for any help

0 Comments   [ + ] Show comments

Answers (3)

Posted by: anonymous_9363 13 years ago
Red Belt
If the previous version was installed per-user, then only the installing user can uninstall it, without some major registry acrobatics. The same applies if it was deployed via Group Policy. If either (or both!) of those is true, the simplest route is to build the uninstall into your new package by using the RemoveFile and RemoveRegistry tables. You'll need to locate the 'managed' registry entries and make sure your package removes them, as well as the ARP stuff.
Posted by: pjgeutjens 13 years ago
Red Belt

1) you should also remember to add your NEWERPRODUCTFOUND property to the SecureCustomProperties in your MSI's Property table

2) 258 being 256 + 2 and considering the following quote from MSDN about the attributes:

2 0x002 Detects products and applications but does not remove.
256 0x100 Detects the range of versions including the value in VersionMin.

This might be part of your problem too [;)]

Posted by: Harsha Gurugunti 13 years ago
Senior Yellow Belt

While upgrading the application, you have to consider below points
1.Upgradecode has to same as previous version (Synchronize)
2.Product version has to be greater than previous version (According to the versioning rules)
3.Enter the same Upgrade code in Property table
4.In VesionMax column enter the Product version
5.Attributes (msidbUpgradeAttributesMigrateFeatures ) 1 (0x001) -- Migrates feature states by enabling the logic in the MigrateFeatureStates action.

If above said attribute didn’t work
Attributes set to 513… I don’t remember exactly please try…

As per Windows installer ActionProperty :

“When the FindRelatedProducts action detects a related product installed on the system, it appends the product code to the property specified in this field. The property specified in this column must be a public property and the package author must add the property to the SecureCustomProperties property. Each row in the Upgrade table must have a unique ActionProperty value. After FindRelatedProducts, the value of this property is a list product codes, separated by semicolons (;), detected on the system”

Hope this may help you,
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Don't be a Stranger!

Sign up today to participate, stay informed, earn points and establish a reputation for yourself!

Sign up! or login


This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ