cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
dudelove
Level 2

Uninstalling a Merge Module in a new Patch

Hi everyone,

New to InstallShield and BasicMSIs.

We have a base installation that includes a merge module (licensing software)
We are now releasing a patch to update some of our software including a new version of the licensing software that is no longer provided via a merge module but now a prerequisite.

I can get the new prerequisite to install correctly, however I do not know how to uninstall the previous version that was installed via merge module. The new version of licensing software installs to a new file location so it does not 'overwrite' the old version.

Any suggestions/ideas would be appreciated.

Cheers
Labels (1)
0 Kudos
(3) Replies
Cary_R
Level 11

dudelove wrote:
Hi everyone,

New to InstallShield and BasicMSIs.

We have a base installation that includes a merge module (licensing software)
We are now releasing a patch to update some of our software including a new version of the licensing software that is no longer provided via a merge module but now a prerequisite.

I can get the new prerequisite to install correctly, however I do not know how to uninstall the previous version that was installed via merge module. The new version of licensing software installs to a new file location so it does not 'overwrite' the old version.

Any suggestions/ideas would be appreciated.

Cheers


If the merge module is the only thing under its feature, you could create a Set Property custom action to set REMOVE property to that feature name, with condition of PATCH (this would uninstall the feature during the patch). If you went this route a similar custom action for Patch Uninstall may want to set ADDLOCAL to put it back during patch uninstall.

Alternatively, you could tweak the merge module (if this is your merge module, that is) to set a negative condition on the components, and set "Reevaluate Condition" flag.
0 Kudos
dudelove
Level 2

Cary R wrote:
If the merge module is the only thing under its feature, you could create a Set Property custom action to set REMOVE property to that feature name, with condition of PATCH (this would uninstall the feature during the patch). If you went this route a similar custom action for Patch Uninstall may want to set ADDLOCAL to put it back during patch uninstall.

Alternatively, you could tweak the merge module (if this is your merge module, that is) to set a negative condition on the components, and set "Reevaluate Condition" flag.


Hi Cary,

Thanks for your reply

Yes the merge module is the only thing under its feature. Could you step me through implementing what you described? This is all very new to me.

Cheers
0 Kudos
Cary_R
Level 11

dudelove wrote:
Hi Cary,

Thanks for your reply

Yes the merge module is the only thing under its feature. Could you step me through implementing what you described? This is all very new to me.

Cheers


It is pretty simple:

1. In the latest project file that you're using to build the patch, create a new custom action of type "Set Property"
2. Set the target property to REMOVE, and the value to the internal name of the feature. (This will be what is in the Features view of InstallShield)
3. Sequence the custom action as the First Action of the Execute Sequence, and give it a condition of 'PATCH'
4. Next, create, again, a Set Property custom action
5. This time target the ADDLOCAL property with the feature name as the value
6. Sequence it after the action from step 3, with a condition of MSIPATCHREMOVE
7. In the properties of the custom action, find the property for "Run during Patch Uninstallation", and enable it.

Now the merge module will get reinstalled when you uninstall the patch from Add/Remove programs as well as uninstallling during the patch installation.
0 Kudos