Wix Bootstrapper 捆绑包如何为 bal:Condition 指定 NOT 条件

Posted

技术标签:

【中文标题】Wix Bootstrapper 捆绑包如何为 bal:Condition 指定 NOT 条件【英文标题】:Wix Bootstrapper bundle how to specify NOT condition for bal:Condition 【发布时间】:2016-01-20 18:40:34 【问题描述】:

我想做的是:

<bal:Condition Message="Microsoft .NET v4.5.2 is required.">Not (WIX_IS_NETFRAMEWORK_452_OR_LATER_INSTALLED)</bal:Condition>

但它似乎无法识别这种语法。如何在 bal:Condition 中指定 NOT(以及这到底会在哪里记录?)

谢谢。

【问题讨论】:

【参考方案1】:

所以我无法弄清楚如何正确使用该语法,也无法在任何地方找到任何合适的文档,所以我求助于注册表搜索:

    <util:RegistrySearch
    Id="Is452There"
    Root="HKLM" Key="SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full"
    Value="Release" Variable="Is452There" Win64="no" />

然后:

    <bal:Condition Message="Microsoft .NET v4.5.2 is required.">Is452There>="379893"</bal:Condition>

这似乎可以解决问题。

【讨论】:

以上是关于Wix Bootstrapper 捆绑包如何为 bal:Condition 指定 NOT 条件的主要内容,如果未能解决你的问题,请参考以下文章

WiX Bootstrapper 项目结构

WiX Burn Bootstrapper 不调用 OnDetectRelatedBundle

从 Wix Bootstrapper Bundle 检查文件版本

如何通过 Wix Bootstrapper 在修改模式下添加包?

将参数从bootstrapper传递到msi bundle包

Wix 托管引导程序应用程序:通过捆绑将变量传递给 msi