cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
honolua
Level 7

REMOVE="" not working

I've had a recent change that's preventing (REMOVE="") from working in a Basic MSI project. For quite some time I've been using this project and the (REMOVE="") worked just fine for a custom action condition. It seems to have just stopped working because the executable does not execute with said condition set. If I remove the condition and leave it empty the executable is launched.

However, I cannot leave this condition empty as it is launching an installed executable to register our software's DLLs. As this is sequenced after InstallFiles I cannot have it executing during uninstall since the executable is removed before reaching this point in the sequence. This action needs to be run every time except during an uninstall. Is (REMOVE="") the best condition for the desired behavior?

Does anyone know what might cause this to stop working?
Labels (1)
0 Kudos
(4) Replies
EJSchuiteman
Level 4

Try the following condition:

Not REMOVE="ALL"
0 Kudos
Ranjit_Kumar
Level 6

There are totally 5 conditions

1. REMOVE = "ALL" - This condition is used when you want to do something during uninstallaion.

2. REMOVE <>"ALL" - This condition is used when you want to do something during installaion.

3. Not Installed - This condition is used when you want to do something during uninstallaion.

4. Installed - This condition is used when you want to do something during Maintainance mode.

5. Upgradingproductcode - This condition is used when you want to do during major upgrade.

Based on your requirement you can one or multiple conditions
0 Kudos
honolua
Level 7

I have switched it to (REMOVE<>"ALL") and it seems to be less finicky now. I'll use this condition from now on when I want something to always run unless uninstalling.
0 Kudos
Ranjit_Kumar
Level 6

Remove<>"ALL" will run evertytime except during uninstallation
0 Kudos