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

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

错误 0x8007000d:无法解析条件“SqlVersion32 < v10.50.1600.1 AND SqlEdition32='Express Edition'”。第 46 位出现意外字符。

位置 46 是我将SqlEdition32字符串变量与字符串“Express Edition”进行比较的位置 我想知道如何在 WiX 中比较字符串?

4

2 回答 2

1

你有两个解决方案:

  1. 你可以用单引号替换双引号,反之亦然,所以你会得到这样的东西:
InstallCondition='SqlVersion32
    &lt; v10.50.1600.1 AND SqlEdition32 = "Express Edition"'
  1. 或将单引号'替换为" ; , 你会得到:
InstallCondition="SqlVersion32 &lt; v10.50.1600.1 AND
    SqlEdition32 = &quot;Express Edition&quot;"
于 2014-10-19T13:01:24.367 回答
1

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

于 2014-04-29T19:22:45.490 回答