- Revenera Community
- InstallShield Forum
- MSI Upgrade leaves two records in Apps and Features
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Printer Friendly Page
MSI Upgrade leaves two records in Apps and Features
We have been using an upgrade method for Minor and Major upgrades where we basically do an uninstall and reinstall using the msi package. This has worked well for us up until the last few versions of our product.
We have been able to successfully upgrade minor version within the same major branch without issue in the past for example we would upgrade using this method from 188.8.131.52 to 184.108.40.206 and would only see one app in the app and features. However, in our latest major version we are noticing that we cannot do minor upgrades e.g. going from 220.127.116.11 to 18.104.22.168 creates a second record in the apps and features.
No settings have been changed in the upgrade or product naming.
All versions receive a new product code
All versions share the same upgrade code
All builds are set to generate new package codes
Upgrade settings are for Any Earlier Version
We are using Installshield 2022 R2
Windows Installer doesn't read the 4th value in a ProductVersion property, it will only read the first 3. This would mean that during the upgrade Windows Installer will not recognise the increase in the ProductVersion number and therefore upgrade rules are not being followed.
There is more information the ProductVersion property here: https://learn.microsoft.com/en-us/windows/win32/msi/productversion
Try creating your Major Upgrade by upgrading from 22.214.171.124 to 126.96.36.199
In addition make sure that you are correctly creating a Major Upgrade by following the steps provided here: https://community.flexera.com/t5/InstallShield-Knowledge-Base/Create-a-Major-Upgrade/ta-p/3879
Hope this helps.
I understand the Minor vs Major upgrades. While we are using the product version numbers to indicate a minor upgrade we are setting up the system to view these as major upgrades with uninstall and reinstall of the complete package.
According to Microsoft
- If an update changes the .msi file and application files, but does not change the ProductCode property or ProductVersion property, it is termed a small update.
- If the update changes the ProductVersion, but does not change the ProductCode, it is termed a minor upgrade.
- If the update changes the installation into an entirely different product, the ProductCode must change and the update is termed a major upgrade.
Because we are changing the ProductCode, the PackageCode and the Product Version the installer should be seen as a major upgrade.
As mentioned previously the system is working like this on all previous major release version families (e.g. 188.8.131.52 will uninstall and reinstall the complete application if upgraded to 184.108.40.206 with the msi installation package, and only one application will show in the apps and features) I am trying to understand why this has changed behavior with our 7.2 major version family.
From what we can see the old product is uninstalled in the ProgramFiles, shortcuts, etc. and the new version is installed in it's place. The only place where we are seeing a problem is in the apps and features where two products are being listed with their respective version numbers.
As the previous versions were not following upgrade best practices - its not possible to determine their behaviour.
It is possible to identify that the Major Upgrades that you were previously creating were not incrementing the Product Version correctly.
I understand that previous versions were working using the method of using the 4th ProductVersion field - however as windows installer does not read the 4th field - this is not seen as a change. Therefore the criteria of a Major Upgrade have not been met - and its possible that the "RemoveExistingProducts" standard action is not being started correctly as no upgrade has been identified.
We can only assume that it is lucky that you have not encountered issues sooner.
If you test increasing the productversion using only the first 3 fields to 7.2.1 - does this correct the behaviour or is the issue still present?