cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
gkriggs
Level 6

Prevent downgrade prevented an upgrade, why?

Hello,

The prevent downgrade feature appears to have prevented an upgrade from occuring. A user reported they had version 11.22.12.9000 of our product installed and when they tried to install version 11.22.27.9059 of our product they got the the message box "A later version of '...' is already installed on this machine. The setup cannot continue."

Unfortunetly, I can NOT reproduce this problem using the same two version builds that the problem was reported on. Could something in the enviroment cause this problem to occur? Does anyone have any ideas why the prevent downgrade feature might prevent an upgrade from occuring?

I do not want our installer to allow downgrading to an older version, and I believe that by default when you create a new MSI project in InstallShield 2009 it automaticaly configures to prevent downgrades from occuring. I don't believe I made any changes to the default prevent downgrade settings in our MSI project after I created it. Here is what I see in the MSI tables that is related to the downgrade settings:

Upgrade Table:
UpgradeCode: {00000000-0000-0000-0000-000000000000}
Version Min - (S20): ***ALL_VERSIONS***
Version Max - (S20):
Attributes - (i4): 2
Remove - (S255):
ActionProperty - (s72): ISFOUNDNEWERPRODUCTVERSION
ISDisplayName - (S72): ISPreventDowngrade

CustomAction Table:
Action - (s72): ISPreventDowngrade
Type - (i2): 19
Source - (S64):
Target - (S20): [IS_PREVENT_DOWNGRADE_EXIT]

InstallExecuteSequence Table:
Action - Condition - Sequence - ISComments - ISAttributes
...
FindRelatedProducts - NOT ISSETUPDRIVEN - 410 - LaunchConditions -
ISPreventDowngrade - ISFOUNDNEWERPRODUCTVERSION - 450 - ISPreventDowngrade -
...

Thanks,
Greg
Labels (1)
0 Kudos
(1) Reply
MichaelU
Level 12 Flexeran
Level 12 Flexeran

If you examine a verbose log, you should find that ISFOUNDNEWERPRODUCTVERSION (the action property) is set to the ProductCode of the detected installation. This should allow you to examine why FindRelatedProducts might find this installation (perhaps via InstallShield MSI Sleuth). For instance if there's a product with a matching UpgradeCode and larger ProductVersion than you expect, that may explain this.
0 Kudos