cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Not applicable

Major Upgrade not upgrading, but "repairing" works.

I have a large installer that seems to be having trouble after upgrading from IS12 to IS2010.
If I am installing to a machine that has an earlier version, that install appears to work, however, the files are not overwritten.
Interestingly, if I then "repair" the install, the files are overwritten.
I have the REINSTALLMODE property set to "amus"

Any ideas?
Labels (1)
0 Kudos
(10) Replies
Not applicable

I have generated the log files from the msi, but they're far too long to post here in total. Below I've picked out a few lines which seem significant.

In a clean install (works files are copied properly)
Product not registered: beginning first-time install
MSI (s) (04:4C)
Product {A0D5B0B0-86F2-482E-BF67-93C216800928} is not managed.

...
Feature: CHEMCAD_Suite_Files; Installed: Absent; Request: Local; Action: Local
...
Component: __CC6.exe65; Installed: Null; Request: Local; Action: Local


In the upgrade install (not working, files are not overwritten)
Product registered: entering maintenance mode
MSI (s) (04:DC)
Determined that existing product (either this product or the product being upgraded with a patch) is installed per-machine.
MSI (s) (04:DC)
Product {A0D5B0B0-86F2-482E-BF67-93C216800928} is admin assigned: LocalSystem owns the publish key.
MSI (s) (04:DC) [
Product {A0D5B0B0-86F2-482E-BF67-93C216800928} is managed.

...
Feature: CHEMCAD_Suite_Files; Installed: Advertise; Request: Reinstall; Action: Reinstall
...
Component: __CC6.exe65; Installed: Null; Request: Null; Action: Null
0 Kudos
Bineesh
Level 6

You are doing majour upgrade(changed the product code)? or minor upgrade (only veresion)?
0 Kudos
Not applicable

Bineesh wrote:
You are doing majour upgrade(changed the product code)? or minor upgrade (only veresion)?


I was not changing the product code, because I've found when I change the product code it makes a new entry in ARP. Do I have to change the product code if the compnents changed? and if so,is there an easy way I can cleanup the old entries in the ARP?
0 Kudos
alegerlotz
Level 7

Aaron Herrick wrote:
I was not changing the product code, because I've found when I change the product code it makes a new entry in ARP. Do I have to change the product code if the compnents changed? and if so,is there an easy way I can cleanup the old entries in the ARP?


You need to change the Version (optionally I suppose) and Product Code to trigger the Major Upgrade.

This will only work, however, if you preserve the Upgrade Code from your prior installation project.

You're seeing a separate entry in ARP because your upgrade code is different between the projects. If all of the codes are different its like two strangers passing on the street, neither one knows the other. The Upgrade code being the same, while the project codes are different, is the key here.
0 Kudos
Not applicable

I am keeping the upgrade code the same, but it is still creating double entries in the ARP. I suspect its the same issue being reported here:

http://community.flexerasoftware.com/showthread.php?t=191665&highlight=duplicate+entries+ARP+major+upgrade

and here:
http://community.flexerasoftware.com/showthread.php?t=185263

I'm currently testing MattPow's workaround (using a custom action to remover the registry entries) and I'll post my results here
0 Kudos
Ajay_Ladsaria
Level 7

In order to successfully implement a major upgrade, you will also need to create a major upgrade item in the Media - Upgrades view.

This along with changing the ProductCode and bumping up the ProductVersion will configure a major upgrade.

Creating Major Upgrades
http://helpnet.flexerasoftware.com/robo/projects/installshield16helplib/CreatingMajorUpgrades.htm
0 Kudos
Not applicable

Will that automatically take care of the ARP issues I'm seeing?

For those that might follow after, I've found that in addition to the key MattPow found the following keys may be needed to be removed:
//HKEY_CLASSES_ROOT\Installer\Products\(someguid)

//HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products\(someguid)

//HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\(someguid)

//HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\(Productguid)
0 Kudos
Ajay_Ladsaria
Level 7

Hi Aaron,

I think you are on the wrong track. You don't want to touch the Windows Installer registry keys you mentioned such as:
//HKEY_CLASSES_ROOT\Installer\Products\(someguid)

These are undocumented backend MSI inventory storage registry keys and should not be directly modified. Also, there is no need to modify them to create a successful upgrade.

If you correctly configure a major upgrade, then your new install will uninstall any older versions and thus remove ARP entries associated with them.

Correctly authoring a major upgrade includes changing the ProductCode, increasing the major or minor part of the ProductVersion, and creating a major upgrade item in InstallShield Upgrades view which automatically populates an Upgrade Table entry.

Hope this helps,
Ajay
0 Kudos
Not applicable

Ajay- I will begin creating entries in the upgrade table from now on.

On my development machine doing just what you have recommended was not successful in removing the old extra entries from ARP. While my upgrade code has remained constant for the past few years, I have on occasion changed the product code without creating a new upgrade item. This could have caused the problem.

So unfortunately, I think I will have to do both.

Question on major updates: The documentation says a major update will uninstall the application and then reinstall. Does that uninstall/reinstall include prerequisites?
0 Kudos
Ajay_Ladsaria
Level 7

Prerequisites included with previously installed versions of a product are not uninstalled during a major upgrade. Only the previous MSI is uninstalled.

It is possible, however, that a newer version of a prerequisite that is included with your latest MSI may perform a major upgrade of its earlier version.
0 Kudos