PDA

View Full Version : ERROR_PRODUCT_VERSION (error 1638) when same upgrade code is used



mcsergiu
11-07-2012, 02:50 AM
Hi guys,
I'm stuck with an issue and I cannot find a solution for the following problem.
I have an InstallShield project (ism) created initially with InstalShield 2011. When I've opened the ism file with InstallShield 2012 Spring Professional, it has been converted fine and the installer package executable is successfully built.
I've changed the Product version to a higher number (from 2.1.300 to 2.1.350) making sure that the Product code and Upgrade code remained unchanged.
On my machine I have the installation of the original version of the application (2.1.300) built with InstallShield 2011.
However, when installing the newest 2.1.350 version built with InstallShield 2012, I've get the ERROR_PRODUCT_VERSION (error 1638) message and the installation stops.
Please note that in the Upgrade Windows Installer Setup options I've choose "completely uninstall old setup", and I have actions defined to specify the min and max versions to upgrade to.
If you have any clue why the upgrade is not performed, please let me know.
I appreciate any help you could give. Thanks.

DebbieL
11-07-2012, 09:38 AM
When you are building a major upgrade (that uninstalls the earlier version before installing the new version), the product code needs to be changed. The following help topic explains each of the codes (product, upgrade, etc.) and which ones need to be changed, depending on which type of upgrade you are creating.
Major Upgrade vs. Minor Upgrade vs. Small Update (http://helpnet.flexerasoftware.com/installshield19helplib/Default.htm#StartTopic=helplibrary/MajorMinorSmall.htm)

I hope that helps.

mcsergiu
11-08-2012, 02:17 AM
It works like a charm! Thank you Debbie!
Still one question: should the Package Code be changed as well?
It is not very clear to me when to change Package Code and when not...

DebbieL
11-08-2012, 09:58 AM
The package code basically needs to change with every build. (An identical package code signals that the package contents are identical. Any change at all in the package requires a new package code.)

InstallShield makes this easy by changing the package code every time you build by default. (If you do not want InstallShield to generate a new package code at build time, you'd select No for the Generate Package Code setting for the product configuration in the Releases view. This is set to Yes by default.)

mcsergiu
11-09-2012, 01:28 AM
Thank you again for the provided clarifications.
I appreciate the support you gave me, it was of a great help.