/build/static/layout/Breadcrumb_cap_w.png

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?







10 Comments   [ + ] Show comments
  • Just to check in case it's a simple typo - there must be no spaces in the TRANSFORMS=passwordsafe.mst
    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
  • Hi EdT .. Thank you for a speedy response. I have checked the TRANSFORMS and there are no spaces. I have also changed the version to Min to 3.32 and taken out the 3.35 as Max version. I have also tried using a different attribute(i4) 512. Still stuck on the same error,' "Another version of this product... Any help much appreciated. - aktar22 9 years ago
  • As EdT said, the product code CAN'T be the same in both MSI files - the upgrade codes should match. With matching product codes you will get the 'Another version...' message. - dunnpy 9 years ago
  • had a very similar issue to this last week on a question string... There was an existing user install..... and, check the productcode... it would not be the first time a vendor MSI reused the ProductCode. Or if you're really unlucky, maybe an MSI that is installed with the same productcode, if so, buy a lottery ticket - Badger 9 years ago
  • Hi Guys, Thanks for all the responses. Forgot to mention when i change the product code the installation works but i have both versions installed. The uninstall of the old version is the problem.. I have tried using different Attributes (i4) 512 /769) Tried using a .bat file. What is a logical step by step process to try find a solution?. :-) - aktar22 9 years ago
  • I'm not familiar with the REMOVEEXISTING property that you're setting. It's not a regular WI property, that's for sure. Does the log show the RemoveExistingProducts having been run? - anonymous_9363 9 years ago
  • Hi VBScab, Thanks for taking the time to have a look at my problem. The REMOVEEXISTING property added into the Action Property (s27) as per link for further details. http://www.itninja.com/question/how-to-use-upgrade-table-in-installshield-adminstudio. The RemoveExistingProducts . Return value 1. Thank you for looking. - aktar22 9 years ago
  • Do you have the upgrade code in the upgrade table? If not, then the FindRelatedProducts action will not recognise the existing install as a related product and the two will install side by side. The fact that the two apps ARE installing side by side shows that there is a fundamental error in the upgrade so we need to look at all the possible issues. Have you generated a verbose log of an update attempt where the product codes are different (as they HAVE TO BE) to see what is going wrong? - EdT 9 years ago
  • Hello yes I have the upgrade code from old version placed into UpgradeCode (s38) and I checked product codes are different via ORCA. The log file has the following entry; MSI (s) (A4:D8) [15:07:29:220]: Doing action: RemoveExistingProducts
    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
  • You did not read my question correctly. I asked if you have the upgrade code in the UPGRADE TABLE. I did not ask whether you have set the same upgrade code for both packages (which is required if doing a major upgrade). The RemoveExistingProducts action should not be skipped so clearly the FindRelatedProducts action is failing because it is not recognising the installed software as a related product. For that to happen, the Upgrade table needs to contain the Upgrade Code of all products that are to be detected by the FindRelatedProducts action.

    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

Answers (3)

Posted by: jagadeish 9 years ago
Red Belt
0
Configure upgrade table as I have stated in the below link

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
Posted by: blacklisted_packager 9 years ago
Orange Belt
0
The package code\product code of the MSI is same as that of earlier version. For upgrade to happen both the package code and product code should be changed.
Posted by: aktar22 9 years ago
White Belt
0
As i was using a MST file for an MSI  a transform is usually a small configuration change. Once i created a basic msi project and added the Upgrade configuration as mentioned above in Installsheild ... result. Thank you all.

Until next time

 

 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ