This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: Having problem with Basic MSI Major Upgrade.
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 12, 2009
01:09 PM
Having problem with Basic MSI Major Upgrade.
I'm having a problem with a Major Upgrade of one of my products.
Minor Upgrades however are working fine.
Whenever I attempt to do a major upgrade, I get the error informing me that a newer version of the application is already installed and it needs to be uninstalled first.
I have two UpgradeItems in my newer version's release.
ISPreventDowngrade
Products sharing my Upgrade Code
Any Earlier Version
Detect Only set to YES
DetectProperty: ISFOUNDNEWERPRODUCTVERSION (exists as a SecureProperty)
ISUpgrade2009
Products sharing my Upgrade Code
Any Earlier Version
Detect Only: NO
DetectProperty: ISUPGRAEDABLE2009 (Exists as a secure property)
Migrate Feature State: Yes
There is a Type 19 Custom Action ISPreventDowngrade in Installation UI and Execute Sequences following the FindRelatedProducts custom action.
The Upgrade Code is the same between the previous version and current version. Product Code's are different.
Prior Version number was 2008.50.xxx
Current Version number is 2009.00.xxx
Any help is appreciated.
Minor Upgrades however are working fine.
Whenever I attempt to do a major upgrade, I get the error informing me that a newer version of the application is already installed and it needs to be uninstalled first.
I have two UpgradeItems in my newer version's release.
ISPreventDowngrade
Products sharing my Upgrade Code
Any Earlier Version
Detect Only set to YES
DetectProperty: ISFOUNDNEWERPRODUCTVERSION (exists as a SecureProperty)
ISUpgrade2009
Products sharing my Upgrade Code
Any Earlier Version
Detect Only: NO
DetectProperty: ISUPGRAEDABLE2009 (Exists as a secure property)
Migrate Feature State: Yes
There is a Type 19 Custom Action ISPreventDowngrade in Installation UI and Execute Sequences following the FindRelatedProducts custom action.
The Upgrade Code is the same between the previous version and current version. Product Code's are different.
Prior Version number was 2008.50.xxx
Current Version number is 2009.00.xxx
Any help is appreciated.
(4) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 12, 2009
06:49 PM
The ISPreventDowngrade item shouldn't be set to "Any previous version", but instead should be "Within a specific range" starting with the current version.
In general, you can also create an MSI log file and search around the FindRelatedProducts and ISSetAllUsers actions for information about what MSI has found...
(I don't know if it matters, but according to the "ProductVersion Property" help topic, the first two fields of ProductVersion should be 255 or under...)
In general, you can also create an MSI log file and search around the FindRelatedProducts and ISSetAllUsers actions for information about what MSI has found...
(I don't know if it matters, but according to the "ProductVersion Property" help topic, the first two fields of ProductVersion should be 255 or under...)
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 13, 2009
01:56 PM
RobertDickau wrote:
The ISPreventDowngrade item shouldn't be set to "Any previous version", but instead should be "Within a specific range" starting with the current version.
In general, you can also create an MSI log file and search around the FindRelatedProducts and ISSetAllUsers actions for information about what MSI has found...
(I don't know if it matters, but according to the "ProductVersion Property" help topic, the first two fields of ProductVersion should be 255 or under...)
Thanks Robert, my messed up ISPreventDowngrade item seems to have turned the trick.
Is there a placeholder to cause it to insert the current version at build time? We do our builds automatically via scripts, and we set the version number from the standalone builder command line.
The Version number doesn't seem to cause a problem for MSI installers, it badly breaks Installscript installers however. The internal VerProductCompareVersion functon in InstallScript requires a packed DWORD (255.255.65535) or it fails completely. InstallationInfo will also write 0.0.0 as the version number in the registry if you have have a value greater than 255 for the major or minor version. This understandably breaks the default Upgrade and Maintenance handling of Installscript installs.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 13, 2009
02:08 PM
If you look in the Minimum Version property in the Advanced settings for ISPreventDowngrade, you'll see "***ALL_VERSIONS***"; this magic value keeps the minimum synchronized with ProductVersion.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 13, 2009
02:24 PM
RobertDickau wrote:
If you look in the Minimum Version property in the Advanced settings for ISPreventDowngrade, you'll see "***ALL_VERSIONS***"; this magic value keeps the minimum synchronized with ProductVersion.
Perfect. Thank you.