Reputation: 1078
I have made an installer in InstallShield. I have provided this build to customer. I'm having one CustomAction with condition "1" i.e always execute. But now I want to skip this CustomAction while installation. I can't provide a new installer to customer. So is there any way to skip a CustomAction while installation?
I tried by passing argument /v"PrpertyName=Value"
to Setup.exe. But It didn't help me as my CustomAction has the condition of "1". So is there any other way to skip CustomAction by command argument or by any other way?
Upvotes: 0
Views: 1180
Reputation: 15905
There is no way to do this with just a command line parameter. You (or the customer) will have to create a transform file and apply it via the command line. This transform can remove or change the condition of the custom action so that it does not execute, or can update it so that it does not fail.
The transform can be created with InstallShield or most other MSI editing tools, and should probably modify the condition on the custom action (either to 0, or to reference a property; I'll assume 0 for the rest of this post).
Once you have created the transform, you use it by placing it next to the setup.exe and passing a value for the TRANSFORMS property that references the transform (or with the /t parameter in the rare case that you are performing an advertised install):
mysetup.exe /v"TRANSFORMS=SkipAction.mst"
Note that if the .mst is not signed, it can result in the untrusted UAC prompt even if the .msi is signed correctly.
Upvotes: 1