2015-08-28 89 views
0

我正在使用Wix安装程序来支持Windows 7 SP1,Windows 8和更高版本。我可以用Service Pack 1成功验证Windows 7,但是我的Windows 8启动条件持续失败。我剥开为Windows 8的条件是,Wix Windows 8启动条件

<bal:Condition Message="Windows 8 or higher supported...."><![CDATA[Installed OR VersionNT >= 602]]></bal:Condition> 

日志条目

[0638:0D20][2015-08-28T07:47:17]i001: Burn v3.9.1208.0, Windows v6.3 (Build 9600: Service Pack 0) 
[0638:0D20][2015-08-28T07:47:18]i052: Condition 'Installed OR VersionNT >= 602' evaluates to false. 

我用我的Windows8的或错误的versionNt代码错误的语法?

回答

0

该条件必须评估为true才能继续安装,因此不清楚为什么您已将Installed作为条件的一部分。您的示例中安装了什么?

此外,您正在使用VersionNT的错误语法。您正在使用Windows Installer格式,但烧伤使用不同格式:

http://wixtoolset.org/documentation/manual/v3/bundle/bundle_built_in_variables.html

它也可能没关系,如果你不使用正确的属性(VersionNT64代替)。

+0

Installed关键字是一个Windows Installer属性,用于确保仅在用户安装应用程序时不检查或修复应用程序时才检查该条件,如http://wixtoolset.org/documentation/manual/v3/ howtos/redistributables_and_install_checks/block_install_on_os.html – Paddy

+1

我了解Installed属性 - 我不确定你为什么在一个Bundle中使用它,你看起来是这样的,它带有bal扩展名,并且注意你的链接是指Windows Installer Installed财产这不是你正在使用的。 – PhilDW

+0

所以我试图在我的包中使用Windows Installer属性,这是不正确的?看起来烧伤中使用的VersionNT变量的格式也不正确,因为它与MSI属性VersionNT不同。我已经更新了我的启动条件,如下所示,这似乎工作。 “CDATA [((VersionNT = v6.1)AND(ServicePackLevel> = 1))或VersionNT> v6.1]]> Paddy