我有一个Wix项目,它有几个msi和一个bootstrapper来运行这些msi。
在其中一个msi中,我想基于参数属性运行自定义操作。
在我的Product.wxs
中,我有以下代码:
<CustomAction Id="MyAction" FileKey="myapp.exe" ExeCommand="-a -b"
Execute="deferred" Return="check" />
<InstallExecuteSequence>
...
<Custom Action="MyAction" After="CustomActionInstallService">
NOT Installed AND NOT PATCH AND MYPROPERTY=1
</Custom>
</InstallExecuteSequence>
从命令行我运行:
mybootstrapper MYPROPERTY=1
但自定义操作无法运行。
为了进行测试,我已经更改了我的自定义操作:
<Custom Action="MyAction" After="CustomActionInstallService">
MYPROPERTY=1
</Custom>
具有相同的结果,自定义操作无法运行。
有什么想法吗?
提前致谢
答案 0 :(得分:0)
在你的bootstrapper(刻录)脚本中你是否将属性传递给MSI?这样的事情应该在你的刻录项目中完成,以传递属性:
<Bundle>
<Variable Name="MYPROPERTY" bal:Overridable="yes"/>
<Chain>
<MsiPackage>
<MsiProperty Name="MYPROPERTY" Value="[MYPROPERTY]"/>
</MsiPackage>
</Chain>
</Bundle>