cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
honlory
Level 3

Major Upgrade in InstallShield

Hello,
as we know, Installshield provides Major Upgrade.

However, when I upgrade, I hope installer can remember the old features customer installed in the first time.

For Example:
At the first time, customer installed feature A,B,C;
when I do the upgrade,in the feature selection dialog, the feature A,B,C can be checked automatically.

Or any guy has other good ideas or solutions ?
Remember, this is not the modify, but upgrade.

Thanks in advance,
Honlory
Labels (1)
0 Kudos
(9) Replies
Dan_Galender
Level 10

You don't say, but since you use the term "Major Upgrade", I'm assuming that you are working with an MSI Project.

Just for clarity, it's not InstallShield, but Windows Installer that provides the Major Upgrade catabiltiy (InstallShield does make it very easy to populate the proper tables through its GUI).

The MigrateFeatureStates standard action does what you're looking for. The MSI Help Topic "MigrateFeatureStates Action" describes this in detail.
0 Kudos
honlory
Level 3

Hello DanGalender,

Thanks for your suggestion.

However, I'm not clear that if I can set use "MsiSetFeatureState" in Major Upgrade ? How can I use it ? I did not find any configuration or settings in my ism project file.

Would you kindly provide more information for me ?

Thanks in advance,
Honlory
0 Kudos
Dan_Galender
Level 10

What I'm suggesting is that you don't have to do anything. The MigrateFeatureStates action which is already there will do what you're asking for.
0 Kudos
honlory
Level 3

But in fact, what does the Major Upgrade do is that uninstall first, and then do a new install. In the new install, in the feature selection dialog, the old selected features were not been selected.
0 Kudos
Dan_Galender
Level 10

The feature selection (and all dialogs) take place in the UI Sequence which occurs before the Execute Sequence (where the uninstallation of the earlier version takes place), so the earlier version is still installed when the dialog appears.
0 Kudos
kpalmer
Level 3

Hi...

I'm having a problem with this too.

It doesn't seem to remember the features that were selected.

To re-create :-

- create an empty Installscript MSI project.
- create four features, each with a component and 1 file.
- build the install.
- run the install, select 2 of the features and complete the install.
- set a new product code, package code & version no
- create the major upgrade entry to upgrade from the same upgrade code
- checked the MigrateFeatureStates feature was enabled for the upgrade
- built a new install
- 'upgraded' my first test install with the new install
- when choosing custom all the features are selected by default

Shouldn't this have remembered the features from the first install?

Regards,

Kevin Palmer
Orbis Software Ltd.
0 Kudos
Jan_Eggers
Level 4

i donno if it helps but: you can specify how the Update works.

In the Update Node you can select if you want to uninstall and reinstall which is default or detect differnces and install new files which is what you want
0 Kudos
Nick_Umanski
Level 7

Jan.Eggers wrote:

In the Update Node you can select if you want to uninstall and reinstall which is default or detect differnces and install new files which is what you want


This is NOT the answer. That is about installer efficiency and frankly it is in my experience unworkable, always use Uninstall and Reinstall unless you are absolutely sure you know what you are doing and have total confidence that your developers are correctly versioning ALL files.

The problem in this thread should not be occuring by default. Something odd has been authored into your installer. This may be that you are changing the INSTALLDIR and it is doing a side by side install. Or that you have added conditions on the Features that override the MigrateFeatureStates?
0 Kudos
Nick_Umanski
Level 7

Other possibilities are that you have set up the Major Upgrade entries incorrectly or that you have accidently spun the UpgradeCode instead of the ProductCode.

1. Check that the UpgradeCode is the same across both versions.
2. Check that the MajorUpgrade Item Advanced tab is set up as follows:
. Upgrade Code = {00000000-0000-0000-0000-000000000000}
. Minimum Version =
. Maximum Version = ***ALL_VERSIONS***
. Detect Only = No
. Migrate Feature States = Yes
0 Kudos