如何比较wix ExePackage中的字符串?

时间:2014-04-29 11:48:32

标签: wix wix3.6 wix3.7 wix-extension

<ExePackage InstallCommand='/q /action=UPGRADE /HIDECONSOLE /IACCEPTSQLSERVERLICENSETERMS=1 /INSTANCENAME=ABC' InstallCondition="SqlVersion32 &lt; v10.50.1600.1 AND SqlEdition32 = 'Express Edition'"/>

我正在使用上面的代码。在安装条件下,我想检查SqlEdition32(其值是否由注册表搜索提供)是Express Edition但是我有错误说:

  

错误0x8007000d:无法解析条件&#34; SqlVersion32&lt;   v10.50.1600.1 AND SqlEdition32 =&#39; Express Edition&#39;&#34;。意外   第46位的角色。

位置46是我将SqlEdition32字符串变量与字符串&#39; Express Edition&#39;进行比较的地方。 我想知道如何比较WiX中的字符串?

2 个答案:

答案 0 :(得分:1)

在字符串周围使用双引号,而不是单引号。

答案 1 :(得分:1)

您有两种解决方案:

  1. 您可以用单引号替换双引号,反之亦然 你会得到这样的东西:
  2. InstallCondition='SqlVersion32
        &lt; v10.50.1600.1 AND SqlEdition32 = "Express Edition"'
    
    1. 或用 &amp; quot; 替换单引号',您将获得:
    2. InstallCondition="SqlVersion32 &lt; v10.50.1600.1 AND
          SqlEdition32 = &quot;Express Edition&quot;"