views:

81

answers:

2

Using Installshield 2011, we're creating a major upgrade and having problems upgrading software with this Product Version format - 2009.727.1365. We keep getting the standard 'Installed software is newer than product to be installed' message. With IS 2011, the major version has to be less than 255, from what I can gather, and I think the old format we're using is breaking the check for upgrading.

I've created a test IS project upgrading from 1.00.0000 to 2.00.0000 with no issues, so I'm thinking the issue has to be related to the format of the product version already installed.

Is there a way to use InstallScript or something to compare our old format with the new one and then do an override?

Any help would be greatly appreciated. Thanks in advance!!

**I ended up using Christopher's reply in the link he provided below (Exceeding Version Limits). This seemed to handle the uninstallation of the existing product very well. Thanks again Guys!

+1  A: 

Your ProductVersion property is invalid. The SDK says:

The value of the ProductVersion property is the version of the product in string format. This property is REQUIRED.

The format of the string is as follows:

major.minor.build The first field is the major version and has a maximum value of 255. The second field is the minor version and has a maximum value of 255. The third field is called the build version or the update version and has a maximum value of 65,535.

I also recommend reading Exceeding Version Limits.

There are hacks to work around this if you understand how FindRelatedProducts and RemoveExistingProducts works.

Christopher Painter
+2  A: 

It sounds as if you'll need to remove or modify the ISPreventDowngrade major-upgrade item, which is what detects and prevents this kind of version downgrade (and which is usually what one wants).

(Posted follow-up to question here, too: http://community.flexerasoftware.com/showthread.php?t=195076.)

robertdickau

related questions