2011-01-11 72 views
7

我假設是。WIX UpgradeCode應該在產品的x64和x86版本之間有所不同?

我有x86版本的安裝程序,我正在構建x64版本的安裝程序。

我想弄清楚陷阱。到目前爲止,它看起來非常簡單。我覺得他們應該是不同的UpgradeCodes。我需要檢查條件內的VersionNT64屬性以驗證安裝。


<Condition Message="This package can be installed only on an x64 version of Windows."> 
    VersionNT64 
</Condition> 

任何其他提示嗎?

回答

5

我會繼續說,是的,你可能應該爲這兩個安裝程序有不同的升級代碼,除非你有特定的需求是相同的。

我可以想到的一種情況是,匹配升級代碼可能有用的地方在於,如果您以前只提供可以在32位和64位操作系統上安裝的x86版本。在這種情況下,具有相同升級代碼的x64版本可以讓您輕鬆地在64位操作系統上處理從較舊的x86升級到新的x64版本。

編輯:

我忘了提,你也可以使用「Msix64」屬性來確定位數。也不必爲x64版本添加安裝條件,因爲嘗試將其安裝在32位操作系統中將導致Windows安裝程序服務發出錯誤消息。

目前我只在安裝程序的x86版本使用一個條件

<Condition Message="You are attempting to install the x86 version in a 64-bit OS">NOT Msix64</Condition> 
0

從我的回憶中我可以說,x86版本的代碼將基於一些80x86和更高版本的處理器上使用的代碼,用於16到32位版本,而x64將是64位實現的不同代碼,是x64而不是IA-64或Intel64代碼。加載程序會有所不同,您可能需要檢查BIOS中的值(如果存在)和一些環境變量的狀態,以確定32位或64位模式是否在計算機上運行,​​包括正在開發加載程序的那個模式它支持一種或兩種模式。

相關問題