Search code examples
installationwindows-installerinstallshield

How to execute custom action only in install (not uninstall)


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!


Solution

  • 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"
    

    To only run an action during uninstall use the following condition:

    REMOVE~="ALL"
    

    To only run an action during upgrade:

    Installed AND NOT REMOVE