Wix:如果Define变量包含特殊字符,那么Bad条件字符串错误

时间:2012-07-16 05:19:18

标签: wix

当define变量包含@, - 等特殊字符时,现在这个变量在比较条件中使用,然后给出“Bad conditional string”错误。以及在自定义对话框中发布新对话框中使用的此条件。

示例代码:

<?define Key="test@key"?>

<Control Id="LicenseKey" Type="Edit" Password="yes" X="20" Y="139" Width="320" Height="15" Property="Keytext" />

<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next">
     <Publish Event="SpawnDialog" Value="CheckKey" Order="2"><![CDATA[Keytext <> $(var.Key)]]></Publish>
</Control>

那么任何人都可以告诉我如何解决这个错误吗?

1 个答案:

答案 0 :(得分:4)

如果我理解正确,您传递的var.Key的值包含一些特殊字符。我想你应该在$(var.Key)附上引号,为此假定一个值,如下所示:

<Publish Event="SpawnDialog" Value="CheckKey" Order="2"><![CDATA[Keytext <> "$(var.Key)"]]></Publish>