Install CustomAction does not run when /PASSIVE passed at commandline
I have authored MSI installer with VS9 Setup and Deployment project.
My MSI includes Install and Uninstall custom actions. This MSI always
gets deployed with /PASSIVE passed in.
My problem is that install custom actions don't always get executed
when running the MSI for the second time (running the MSI after it had
already been installed). Whether install CAs get executed or not seems
to be affected by /PASSIVE parameter passed at command line. I am
looking at these two scenarios:
Scenario #1:
Run the MSI for the second time by double clicking the MSI. Repair/
Remove dialog comes up. Selecting Repair (which happens to be default
button) will result in install CAs execution, as desired.
Scenario #2:
Run the MSI for the second time but this time from the command line:
msiexec /I Something.MSI /PASSIVE
In this scenario my install custom actions are NOT executed. I would
like to change this behavior.
I should mention that install CAs do run OK when executing the MSI for
the second time from the command line without /PASSIVE parameter:
msiexec /I Something.MSI
I have tried tried changing Condition for my Install CA (to force CA's
to run no matter what) to:
NOT Installed OR Installed OR
MaintenanceMode="Repair" (Install CA still didn't run in
scenario #2)
NOT Installed OR Installed OR
MaintenanceMode="Modify" (Install CA still didn't run in
scenario #2)
NOT Installed OR Installed OR MaintenanceMode=?Repair? (this
causes runtime error)
NOT Installed OR Installed OR MaintenanceMode=?Modify? (this
causes runtime error)
I should probably also mention that my MSI has these settings:
DetectNewerInstalledVersion=True
RemovePreviousVersions=True
Any help will be greatly appreciated!
|