我在InstallShield中安装了一个安装程序。我已经为客户提供了这个版本。我有一个带条件的CustomAction" 1"即总是执行。但是现在我想在安装时跳过这个CustomAction。我无法向客户提供新的安装程序。那么有什么方法可以在安装时跳过CustomAction吗?
我尝试将参数/v"PrpertyName=Value"
传递给Setup.exe。但它并没有帮助我,因为我的CustomAction具有" 1"的条件。那么有没有其他方法可以通过命令参数或任何其他方式跳过CustomAction?
答案 0 :(得分:1)
仅使用命令行参数无法执行此操作。您(或客户)必须创建转换文件并通过命令行应用它。此转换可以删除或更改自定义操作的条件,以便它不会执行,或者可以更新它以使其不会失败。
可以使用InstallShield或大多数其他MSI编辑工具创建转换,并且可能应该修改自定义操作的条件(要么为0,要么引用属性;对于其余部分,我将假设为0)交)。
创建转换后,您可以将它放在setup.exe旁边并传递引用转换的TRANSFORMS property的值(或者在极少数情况下使用/ t参数)正在执行广告安装):
mysetup.exe /v"TRANSFORMS=SkipAction.mst"
请注意,如果.mst未签名,即使正确签名.msi,也可能导致不受信任的UAC提示。