我的安装程序有两个功能。我需要仅为功能 1 显示一个特殊对话框
我用的是这个条件<![CDATA[&Feature1=3]]>
所以它适用于第一次安装。现在,如果我第二次运行此安装程序,我需要检查功能 1 是否已选中。 (即使已经安装)
我试过Installed AND <![CDATA[&Feature1=3]]>
当第一次未安装功能 1 时,此功能有效。
假设我按如下方式运行此安装程序。我需要两次都满足条件(显示对话框)。
首次安装:
第二次安装(更改)
谁能帮我提出一个条件吗?
最佳答案
您正在使用并寻找更多 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 &Feature1=3
.
关于wix - 判断该功能可用或不可用的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46883493/