wix - 判断该功能可用或不可用的条件

标签 wix

我的安装程序有两个功能。我需要仅为功能 1 显示一个特殊对话框

我用的是这个条件<![CDATA[&Feature1=3]]>所以它适用于第一次安装。现在,如果我第二次运行此安装程序,我需要检查功能 1 是否已选中。 (即使已经安装)

我试过Installed AND <![CDATA[&Feature1=3]]>当第一次未安装功能 1 时,此功能有效。

假设我按如下方式运行此安装程序。我需要两次都满足条件(显示对话框)。

首次安装:

First installation:

第二次安装(更改)

enter image description here

谁能帮我提出一个条件吗?

最佳答案

您正在使用并寻找更多 Feature and Component State Values ,但我不清楚你到底想要什么行为。 Examples of Conditional Statement Syntax包括以下示例:

Run action only if the product will be installed local. Do not run action on a reinstallation.

(&FeatureName=3) AND NOT(!FeatureName=3)

The term "&FeatureName=3" means the action is to install the feature local. The term "NOT(!FeatureName=3)" means the feature is not installed local.

听起来您可能希望通过删除 NOT 并将 AND 更改为 OR 来对此进行调整。如果这样做,结果将是每当该功能已安装或即将安装时,条件都为 true。

或者,您可能希望在即将删除该功能时排除该场景。如果是这样,您可以像这样制作它:

(&Feature1=3 OR !Feature1=3) AND NOT(&Feature1=2)

如果该功能即将安装或已经安装,则情况如此,除非该功能即将被删除。


作为一个侧面,我建议要么输入 <![CDATA[ ... ]]>围绕您的整个病情,或完全排除它。我找到你的例子 Installed AND <![CDATA[&Feature1=3]]>比完全包装的 <![CDATA[Installed AND &Feature1=3]]> 更难阅读或实体转义的Installed AND &amp;Feature1=3 .

关于wix - 判断该功能可用或不可用的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46883493/

相关文章:

crystal-reports - Wix 引导。检查 Sap Crystal reports 是否已安装

combobox - 在 Combobox 中的值发生变化时调用 WIX 中的自定义操作

wix - 我可以在安装结束时使用 WiX 启动我的应用程序,但我无法让我的应用程序在前台运行

xml - 使用 XPath 在 WIX 中删除带有 XmlConfig 扩展名的 XML 元素

wix - InstallFinalize 后使用提升的权限运行自定义操作

wix - MSI引用计数:两种产品安装相同的MSI

WIX 和 commonAppDataFolder

batch-file - WIX 在 InstallExecution 序列中调用批处理文件

localization - WiX Toolset 设置的结果应该是 EXE 和 MSI

c# - 修改 wix 制作的 bundle 二进制文件