Wix VersionNT64无法正常工作

时间:2016-09-08 14:33:33

标签: wix

我正在使用wix(WiX v3.10.3(Stable))安装一些驱动程序和一个程序。 安装的驱动程序取决于机器是32位还是64位。

我一直在关注我发现使用

的教程
<Condition Level="1"><![CDATA[Not VersionNT64]]></Condition>

<Condition Level="1"><![CDATA[VersionNT64]]></Condition>

这些似乎不像我预期的那样工作,所以我创建了一个基本的消息来测试它们。

    <Condition Message="32 bit"><![CDATA[Not VersionNT64]]></Condition>

如果安装程序在32位计算机上运行,​​则应在消息中显示“32位”,但我没有。 但它确实在64位机器上显示它。

<Condition Message="64 bit"><![CDATA[VersionNT64]]></Condition>

无法在32位或64位上运行。

有什么想法吗? 感谢

2 个答案:

答案 0 :(得分:0)

请注意,Condition/@Message导致对来自Condition/@Level的行为关系进行反向测试。 @Message生成的LaunchCondition条目包含描述为的条件:

  

必须评估为True才能开始安装的表达式。

由于条件Not VersionNT64在32位系统上为真,因此允许继续安装。它在64位系统上是错误的,因此安装被阻止并且应该显示消息。条件VersionNT64仅在64位系统上为真,因此应该具有相反的行为;目前还不清楚你的意思是“不起作用”。

答案 1 :(得分:0)

关注

https://www.advancedinstaller.com/user-guide/qa-OS-dependent-install.html#VersionNT64

VersionNT64存储与VersionNT相同的版本号,因此可以检查特定版本的x64

(VersionNT=501) AND (VersionNT64<>501)

正在检查XP,但只有32位

可能必须列出每个版本:

(VersionNT=600) AND (VersionNT64<>600)
(VersionNT=601) AND (VersionNT64<>601)

ect。

如果您只关心x64

(VersionNT=VersionNT64)

将适用于x64