2011-06-08 90 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財產數量