如何在CommandLine元素条件下使用Burn Built-in Variable WixBundleUILevel?

时间:2017-05-10 15:22:55

标签: wix bootstrapper

我尝试将/ quiet和/ passive参数从引导程序路由到链接的ExePackages。我发现我可以通过<CommandLine/>元素将命令行参数添加到Install / Repair / Uninstall命令。它有Condition属性,我希望以

的方式使用它
<CommandLine Condition="WixBundleUILevel=2" InstallArgument="/q" RepairArgument="/q" UninstallArgument="/q"/>
<CommandLine Condition="WixBundleUILevel=3" InstallArgument="/passive" RepairArgument="/passive" UninstallArgument="/passive"/>

<CommandLine Condition="WixBundleUILevel=&quot;2&quot;" InstallArgument="/q" RepairArgument="/q" UninstallArgument="/q"/>
<CommandLine Condition="WixBundleUILevel=&quot;3&quot;" InstallArgument="/passive" RepairArgument="/passive" UninstallArgument="/passive"/>

据我从文档和源代码中了解到,WixBundleUILevel已映射到enum BOOTSTRAPPER_DISPLAY的值,因此2应相当于BOOTSTRAPPER_DISPLAY_NONE。< / p>

安装日志说明

Command Line: '-burn.clean.room=C:\Users\hb\Downloads\OLPlannerSetup.exe /passive'
...
Condition 'WixBundleUILevel="2"' evaluates to false. 
Condition 'WixBundleUILevel="3"' evaluates to false.

(我也试过没有引号。)

如何将WixBundleUILevel的值写入日志?其他变量如,例如WixBundleAction将写入日志。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

WixBundleUILevel需要WiX v3.11。