cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
GuyWithDogs
Level 4

Why does InstallShield 2010 think that my previous version is a NEWER version?

I used InstallShield 2010 to create the installer for the previous version. It has a Product Version of 5.01.0019.

I am creating a new installer for a new version. The Automatic Upgrade created a Major Upgrade. New Product Version is 5.02.0006.

Upgrade Code for both installers are the same. Product Code is different between the releases.

When my earlier version is installed and I run my new installer, I get a dialog that a NEWER version is already installed. This is on Windows XP Pro with Service Pack 3. I haven't tested yet on Windows 7. The installer for the new version works fine if there's no previous version installed. I was starting to test the upgrade function.

I've gone through the help, and combed the forum here. Added the Language value of 1033 based on one thread - that didn't help.

I'm hoping someone can give me some insight into what might be wrong. I've tended to leave things as the defaults whenever using some of the automated functions in IS 2010 (like the Automatic Upgrade feature).

Log file shows the following:

InstallShield 16:31:23: Begin SetAllUsers()
InstallShield 16:31:23: Getting records from Upgrade table
InstallShield 16:31:23: UpgradeCode: {DA6C4E7F-0737-4638-83E5-785D948AFACE} MinVersion: MaxVersion: 5.02.0006 Language: 1033 Attributes: 258
InstallShield 16:31:23: Checking related product {2F28AD1A-7D13-48E7-ABDF-91A0D0097A15}
InstallShield 16:31:23: No related products for UpgradeCode {DA6C4E7F-0737-4638-83E5-785D948AFACE} found
InstallShield 16:31:23: UpgradeCode: {DA6C4E7F-0737-4638-83E5-785D948AFACE} MinVersion: 5.01.0019 MaxVersion: 5.01.0019 Language: 1033 Attributes: 772
InstallShield 16:31:23: Checking related product {2F28AD1A-7D13-48E7-ABDF-91A0D0097A15}
InstallShield 16:31:23: Program 5.1 {2F28AD1A-7D13-48E7-ABDF-91A0D0097A15} 1033 5.01.0019 ***Related***
MSI (c) (34!54) [16:31:23:562]: PROPERTY CHANGE: Adding IS_MAJOR_UPGRADE property. Its value is 'Yes'.
InstallShield 16:31:23: ALLUSERS of related product {2F28AD1A-7D13-48E7-ABDF-91A0D0097A15} is = 1
InstallShield 16:31:23: End SetAllUsers()
Action ended 16:31:23: ISSetAllUsers. Return value 1.


Later it shows this:

MSI (c) (34:20) [16:31:23:625]: Doing action: FindRelatedProducts
Action 16:31:23: FindRelatedProducts. Searching for related applications
Action start 16:31:23: FindRelatedProducts.
FindRelatedProducts: Found application: {2F28AD1A-7D13-48E7-ABDF-91A0D0097A15}
MSI (c) (34:20) [16:31:23:625]: PROPERTY CHANGE: Adding ISFOUNDNEWERPRODUCTVERSION property. Its value is '{2F28AD1A-7D13-48E7-ABDF-91A0D0097A15}'.
FindRelatedProducts: Found application: {2F28AD1A-7D13-48E7-ABDF-91A0D0097A15}
MSI (c) (34:20) [16:31:23:640]: PROPERTY CHANGE: Adding ACTPROP_21C87C86_170A_416A_ADB9_463FAECE0584 property. Its value is '{2F28AD1A-7D13-48E7-ABDF-91A0D0097A15}'.
Action ended 16:31:23: FindRelatedProducts. Return value 1.
MSI (c) (34:20) [16:31:23:640]: Doing action: ISPreventDowngrade
Action 16:31:23: ISPreventDowngrade.
Action start 16:31:23: ISPreventDowngrade.
MSI (c) (34:B0) [16:31:25:593]: Note: 1: 2731 2: 0
A newer version of this application is already installed on this computer. If you wish to install this version, please uninstall the newer version first. Click OK to exit the wizard.
MSI (c) (34:20) [16:31:33:078]: Product: Program v5.2 for Wendy's -- A newer version of this application is already installed on this computer. If you wish to install this version, please uninstall the newer version first. Click OK to exit the wizard.
Action ended 16:31:33: ISPreventDowngrade. Return value 3.


Property Information:

Property(C): UpgradeCode = {DA6C4E7F-0737-4638-83E5-785D948AFACE}
Property(C): ProductCode = {B0D5EEEE-94E5-4152-BDE8-8A2D5984EFDC}
Property(C): VersionNT = 501
Property(C): ISFOUNDNEWERPRODUCTVERSION = {2F28AD1A-7D13-48E7-ABDF-91A0D0097A15}
Property(C): IS_MAJOR_UPGRADE = Yes
Labels (1)
0 Kudos
(4) Replies
GuyWithDogs
Level 4

Further note, based on more reading of those with similar issues:

In my installs, ALLUSERS = 1 in both cases.
0 Kudos
GuyWithDogs
Level 4

Based on information I found in the thread here, I recreated the IsPreventDowngrade custom action, basing it on the default created in an new empty project. That appeared to work - I did not get the "found newer version" message.

Now on to the problems that showed up as a result of the upgrade (overwriting registry entries, removing some files, etc.)
0 Kudos
Nick_Umanski
Level 7

In older versions of IS you needed to spin the version in the Upgrade tab, but in those installers we used to create our own Major Upgrade item to prevent a Downgrade. The newer versions of IS now come with an Major Upgrade item called ISPreventDowngrade - you mention a CA with that name, I don't see a CA but certainly in the Upgrades tab there is a Major Item with that name.

Anyway, this built in Upgrade Item picks up the ProductVersion automatically everytime you change it. Until that is, you go into the Upgrade item and start manually altering it, after that everytime you change the ProductVersion number, you have to manually change it in the ISPreventDowngrade upgrade item too.

Not sure what you mean when you talk about recreating the ISPreventDowngrade CA, but be aware that this problem may return the next time you change the version number. Try testing that, you don't need to actually build and run a new installer, just change the version number and then check to see that it has changed in the Upgrade item too.
0 Kudos
GuyWithDogs
Level 4

Based on a suggestion in the thread I referenced, I created an empty project. When I looked in the Upgrades section, the IsPreventDowngrade was present. I saved the project in XML format, and if you look at the resulting file, you'll find the following:


Action
Type
Source
Target
ExtendedType
ISComments


ISPreventDowngrade19[IS_PREVENT_DOWNGRADE_EXIT]Exits install when a newer version of this product is found
ISPrint1SetAllUsers.dllPrintScrollableTextPrints the contents of a ScrollableText control on a dialog.
SetARPINSTALLLOCATION51ARPINSTALLLOCATION[INSTALLDIR]


(I deleted a few rows for brevity)

I then followed through this as a template and recreated the entries for IsPreventDowngrade in my problem install. And then things worked.

Not sure why it was greatly hosed originally - I hadn't initially messed with it, until it started giving problems with its default values (which were NOT the same as the default in the empty project).
0 Kudos