识别特征的条件是否可用

时间:2017-10-23 06:54:49

标签: wix

我的安装程序中有两个功能。我需要为Feature1

显示一个特殊对话框

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

我尝试Installed AND <![CDATA[&Feature1=3]]>这在第一次安装Feature1时有效。

让我们说如果我按如下方式运行此安装程序。我需要同时确认条件(显示对话框)。

首次安装:

First installation:

第二次安装(更改)

enter image description here

任何人都可以帮我设定条件吗?

1 个答案:

答案 0 :(得分:1)

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

  

仅当产品将安装在本地时才运行操作。不要在重新安装时执行操作。

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

术语&#34;&amp; FeatureName = 3&#34;表示操作是安装本地功能。术语&#34; NOT(!FeatureName = 3)&#34;表示该功能未安装在本地。

听起来您可能希望通过删除NOT并将AND更改为OR来进行调整。如果这样做,结果将是一个条件,只要已安装或即将安装该功能,该条件就为真。

或者,您可能希望在要删除该功能时排除该方案。如果是这样,你可以用它来制作它:

(&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更难阅读。