cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
DLee65
Level 13

Major Upgrade does not Uninstall previous version

I am having a problem with a major upgrade not correctly uninstalling a previous version. Here is what I am seeing so far from the log file.

1. IS_MAJOR_UPGRADE property is set correctly.
2. Getting records from Upgrade Table correctly sees my previous product and identifies it as related.
3. However, FindRelatedProducts does not find the previous product. This results in the Action Property not being set and as a result my product not being uninstalled as part of the major upgrade.

The Upgrade Code is correct, I have set a new product code, per rules for a major upgrade, and my product version is newer than my currently installed version. What can cause the FindRelatedProducts to fail but the Getting Records from Upgrade Table to succeed and setting IS_MAJOR_UPGRADE to succeed?

The test machine is a VMWARE Vista Ultimate machine. I am logged in as an administrator running the setup locally.

Also, the setup is compiled under IS2008, not IS2009.


DATA:

OLD ProductCode is {3237E527-970C-420E-AA6E-E75918BF806C}
NEW ProductCode is {6207F801-5869-40FE-9DDD-3B0A70B91412}

OLD Upgrade Code is {A2199FCE-A20F-4FB1-9AB9-8FC445901453}
NEW Upgrade Code is {A2199FCE-A20F-4FB1-9AB9-8FC445901453}

OLD ProductVersion is 6.081.30156
NEW ProductVersion is 6.092.03088


I should add that the Upgrade table has the following record values:
VersionMin: 6.080.21184
VersionMax: 6.081.30156
Language: Empty
Attributes: 769 (min, max, migrate)
Remove: Empty
ActionProperty: ISACTIONPROP1
ISDisplayName: XMap62
Labels (1)
0 Kudos
(5) Replies
MichaelU
Level 12 Flexeran
Level 12 Flexeran

Is it possible that ALLUSERS property differs between the existing install and the attempted major upgrade installation?
0 Kudos
DLee65
Level 13

We have a custom action that always sets ALLUSERS = 1.
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

Hmm. I'm out of good ideas, unless your upgrade code is not correct, or maybe something bizarre like your package code wasn't changed. (Although I'd guess other things would go wrong in the latter case.)
0 Kudos
DLee65
Level 13

I must be misunderstanding how Max / Min works because it does not work the way I think it should work.

VersionMin = Null
VersionMax = 6.082.00000
Language = Null
Attributes = 257 (Min, Migrate Feature State)
Remove = Null
ActionProperty = ISACTIONPROP1

For whatever reason, this works.

Once I set a minimum range the upgrade fails. I am not certain why, but it fails. Hopefully this helps someone else struggling with the same issue.
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

Hmm. The only thing I can think of there is a potential lexical vs numerical comparison problem. If it stores the version number numerically, yet compares it as a string, the leading 0 of 080 and 081 might be throwing it off. But once again, I'd expect the failure to occur the opposite way.

I'm glad you found a solution, though.
0 Kudos