条件逻辑似乎不起作用

时间:2012-05-10 15:48:26

标签: properties wix

我有一个Wix Control PushButton,它有几个发布事件

这是xml

<Control Id="Next" Type="PushButton" X="0" Y="0" Width="50" Height="20" Default="yes" Text="!(loc.WixUINext)">
  <Publish Event="SpawnDialog" Value="ErrorDialog">
    <![CDATA[PROPERTY1 = "1" AND PROPERTY2 = "1"]]>
  </Publish>
</Control>

但即使两个属性都等于1

,对话框也不会出现

1 个答案:

答案 0 :(得分:1)

我发布后,我发现了问题。所以我把它放在这里,因为其他人犯了同样的错误。

在我的发布活动之后,我有另一个事件被触发进入下一个对话框屏幕

<Publish Event="NewDialog" Value="CustomizeDlg">1</publish>

所以即使我的错误对话框应该显示,下一个事件也会覆盖它,你不会看到它。为了阻止这种情况发生,我必须写出逻辑以防止它继续前进。

<Publish Event="NewDialog" Value="CustomizeDlg">
<![CDATA[PROPERTY1 = "1" AND PROPERTY2 = "0"]]></Publish>

所以现在如果两个属性都已设置,它将显示错误对话框,但如果只设置了第一个,我将直接移动到CustomizeDlg。只要条件不同,一个会失败而另一个通过,这就有了魅力。