Major Upgrade works within Installshield but not with msiexec command
Hello,
I have been having trouble doing a major upgrade for Password Safe from 3.32 to 3.35. When i test the upgrade from within Installshield the old version is removed and i get the option to install the latest version of Password Safe 3.35. But when i try via msiexec /i .passwordsafe.msi TRANSFORMS= passwordsafe.mst i get the following error:
"Another version of this product is already installed. Installation of this version cannot continue. To configure or remove the existing version of this product, use Add/Remove Programs on the Control Panel."
I was getting the following error ;Reconfiguration success or error status: 1638.
According to the following article i found on http://stackoverflow.com/questions/7802965/upgrade-with-wix - if i change the ‘ProductCode’ the latest version is installed but leaves the old version side by side.
What I have done so far :
Upgrade code has been copied from version 3.32 into 3.35. VersionMin 3.32 / VersionMax 3.35 / Attribut(i4) 769 Action Property (s27) REMOVEEXISTING then added into Property table ; SecureCustomProperties = REMOVEEXISTING
ProductCode same as old version. (If I change then both install)
Added ‘RemoveExistingProducts’ between InstallValidate and InstallInitialize and set to YES.
What I’m I doing wrong?
Answers (3)
http://www.itninja.com/question/how-to-use-upgrade-table-in-installshield-adminstudio
Between
//When i test the upgrade from within Installshield the old version is removed and i get the option to install the latest version of Password Safe 3.35.//
What do you mean by this?
Comments:
-
Hi Jagadeish, I found your article before and tried the setting in the link provided. In Installsheild 2014 I have the mst file open and I click the red exclamation button to run the setup. That's when the old version comes up as uninstalling. Once it uninstalls then the installation of PasswordSafe 3.35 starts installing. But when I do a msiexec command this fails. Is there a problem with installsheild? I tried on both 2013 and 2014 version on different machines. - aktar22 9 years ago
-
ALWAYS test your packages in as close a scenario to real life as you can. Running a package "inside" the authoring tool doesn't qualify. Who knows *what* is going on in the background that might skew a real world result!" - anonymous_9363 9 years ago
Apart from that, the product code CANNOT be the same for two different packages where you are creating a MAJOR upgrade. Get yourself a copy of msi.chm and use this as a reference to windows installer. It is the UPGRADE code that identifies that the packages are "related". Look up "Upgrade table" in MSI.CHM. Also, check the attributes you are using for the upgrade. The current ones indicate that your upgrade should run for any existing installation from version 3.32 to 3.35 INCLUDING v3.32 and v3.35. There is no point upgrading v3.35 to v3.35. Again, MSI.CHM will help you understand the meaning of these attributes. - EdT 9 years ago
Action 15:07:29: RemoveExistingProducts. Removing applications
Action start 15:07:29: RemoveExistingProducts.
MSI (s) (A4:D8) [15:07:29:222]: Skipping RemoveExistingProducts action: current configuration is maintenance mode or an uninstall. Thank EDT - aktar22 9 years ago
I suspect Installshield does things in a non standard manner (as it has done since the first MSI tool was released), but you still need to follow the rules for the live package to work correctly. - EdT 9 years ago