views:

2875

answers:

2

I'm sure this is fairly easy, but I've kind of had a hard time with it. I've got a custom action that executes a different (non-msi) installer on installation. Unfortunately, I've noticed that it also executes the installer on UNinstallation!

I've looked through the options but I cant' seem to find out how to stop this. If anybody could help me I would be incredibly grateful.

Also, how do I set a custom action to go off only during UNinstall? Any help is greatly appreciated guys!

+17  A: 

Add a condition on the action so it's only triggered during installation, not uninstallation.

Action run only during Install

NOT Installed AND NOT PATCH

Action runs during Install and repair

NOT REMOVE

Run on initial installation only:

NOT Installed

Run on initial install or when repair is selected.

NOT Installed OR MaintenanceMode="Modify"

Finally, to only run an action during uninstall use the following condition:

REMOVE
sascha
A: 

A condition on the custom action, probably with a matching custom action to do the uninstall. Not sure what tools you're using, but assuming the secondary install is tied to a component, I would use that component state. A state of =3 means a target state of installed. A state = 2 means a target state of absent. Note that the state won't be set if there is no change.

Darren Clark