2011-06-08 91 views
1

我正在编写一个WiX安装程序,该安装程序仅应安装在Windows 2003(32位或64位)或Windows 2008(64位位)。我有以下条件,但它不起作用。为什么?如果操作系统是Windows 2003(32位或64位)或Windows 2008(64位),请检查WiX

Installed AND (VersionNT = 502 OR (VersionNT = 600 AND VersionNT64 > 0)) 
+1

说实话,我尽量不夫妇安装得太紧到操作系统版本,因为开发人员,测试人员或客户可能有一个合理的理由想要跳出框框。您的应用程序中是否存在特定的依赖关系,需要这些限制? – 2011-06-08 15:32:23

+0

@Christopher,这是因为我的老板要我这样做:) – Suresh 2011-06-09 09:06:35

回答

4

尝试以下条件:

VersionNT = 502 OR (VersionNT = 600 AND VersionNT64) 

第一部分选择在Windows Server 2003(任何),第二部分选择在Windows Server 2008 64位(以及Windows Vista中)。

您的启动条件必须评估为true以便安装程序启动。 Installed属性只有在您的产品已安装时才会设置。


您可能要包括你的包被安装在服务器操作系统的检查:

MsiNTProductType > 1 

Operating System property values表。请参阅MsiNTProductType property的说明。

+0

与@Christopher类似,我不建议将客户锁定到特定版本的操作系统。您已经不允许在Windows Server * 2008 R2 *上安装。为了克服这个限制,用户可以[编辑MSI包](http://www.devcha.com/2007/01/edit-operating-system-version-check-in.html)。 – 2011-06-08 19:31:45

0

试试这个代码

<Package InstallerVersion="200" Compressed="yes" Platform="x64" /> 

添加在Product.wxs文件上面的代码。 该数字计算为主要* 100 +次要。所以2.0是200,3.0是300,4.5是405和5.0 500。

因此,按照你的要求,你可以设置在InstallVersion财产数量