HOW TO:建立 64 位元平台的 Windows Installer
更新:2007 年 11 月
Visual Studio 2005 中的部署工具可讓您建立 64 位元應用程式和元件的安裝程式。部署專案的 TargetPlatform 屬性決定安裝程式將以 32 位元或特定 64 位元平台為目標。目標平台包括 x86 (表示 32 位元平台)、x64 (表示支援 AMD64 和 EM64T 指令集的電腦),以及 Itanium (表示 64 位元 Itanium 處理器)。
此外,[檔案系統] 編輯器中有三個特殊資料夾:對於 64 位元應用程式,[通用檔案 (64 位元)]、[程式檔案 (64 位元)] 和 [系統 (64 位元)] 是原生資料夾;[通用檔案]、[程式檔案] 和 [系統] 是 Windows 資料夾的視窗。
一般說來,32 位元和 64 位元 Microsoft Installer (MSI) 套件的處理方式相同,除了兩點差異:Windows Installer 處理資料夾變數 (例如 [程式檔案] 和 [系統資料夾]),以及它將元件寫入登錄或 GAC 的方式。當您建立 32 位元或 64 位元 MSI 套件時,在 GAC 安裝 .NET Framework 組件的強式名稱識別時,此識別會記錄處理器架構。您也可以從 32 位元電腦上建立 64 位元電腦的安裝專案。
64 位元 MSI 套件可以支援 32 位元和 64 位元 DLL 或 EXE 執行自訂動作;不過 32 位元 MSI 套件無法支援 64 位元 DLL 或 EXE 執行自訂動作。
當您將檔案或組件 (Assembly) 加入至合併模組專案時,會進行掃描,判斷檔案或組件是 32 位元或是 64 位元目標平台。這麼做是為了確保 64 位元合併模組不包含混合的 32 位元和 64 位元程式碼。如果合併模組包含 32 位元檔案,Visual Studio 將發出訊息告知,並且不會加入此檔案。如果您加入只標示為 32 位元的 Managed 組件,則會得到建置警告,但檔案或組件都會包含在目標安裝中。如需合併模組的詳細資訊,請參閱合併模組簡介。
若要將 .NET Framework 應用程式散發至 32 位元和 64 位元平台,請建置兩個 MSI 套件,一個針對 32 位元電腦,另一個針對 64 位元電腦。使用者可以安裝 32 位元安裝專案套件,並且很可能將它執行為 64 位元應用程式,但只有 64 位元安裝專案將會安裝至 "Program Files64" 目錄。
若要散發 MSI 套件,但不允許安裝至 64 位元電腦,請加入設為 "NOT VersionNT64" 的新啟動條件。
注意事項: |
---|
在 Visual Studio Express 版中無法建立 64 位元 MSI 套件。 |
注意事項: |
---|
如果 MSI 套件以 AMD Athlon64 或 Opteron 電腦為目標,您必須已安裝 MSI 3.0 (含) 以後版本。 |
注意事項: |
---|
如果安裝專案以 x86 為目標,並且包含 64 位元資料夾的檔案,則即使在 64 位元電腦上安裝,MSI 套件中將不會包含該檔案。 |
若要建立 64 位元平台的安裝程式
開啟部署專案。如需詳細資訊,請參閱 HOW TO:建立或新增部署專案。
在 [方案總管] 中選取部署專案。
在 [屬性] 視窗中選取 [TargetPlatform] 屬性。
選擇 [Itanium] (適用於 Intel Itanium 64 位元平台) 或 [x64] (適用於任何其他 64 位元平台,如 AMD64 和 EM64T 指令集)。
在安裝期間,如果目標電腦與指定的平台不相容,則會引發錯誤,並且安裝暫止。
若要將檔案安裝至 64 位元平台上的通用檔案、程式檔案或系統資料夾
在 [方案總管] 中選取部署專案。
在 [屬性] 視窗中,確定 [TargetPlatform] 屬性設定為 [x64] 或 [Itanium]。
在 [檢視] 功能表上指向 [編輯器],然後按一下 [檔案系統]。
在 [檔案系統] 編輯器中,選取 [目標電腦上的檔案系統] 節點。
在 [動作] 功能表上,選擇 [加入特殊資料夾],再選擇 [通用檔案 (64 位元)]、[程式檔案 (64 位元)] 或 [系統 (64 位元)]。
將所要的檔案加入至新資料夾。如需詳細資訊,請參閱 HOW TO:在檔案系統編輯器中新增及移除檔案。