共用方式為


HOW TO:部署安裝和部署專案

更新:2007 年 11 月

本主題著重於安裝和部署專案的專案類型。如需此部署案例的背景,請參閱部署範例的案例

將 Visual C++ 程式庫 DLL 部署為共用組件的程序

建立安裝和部署專案

  • 從 [檔案] 功能表,按一下 [新增專案],開啟 [其他專案類型] 節點,並選取 [安裝和部署],然後按一下 [安裝專案]。提供名稱,然後按一下 [確定]。

    注意事項:

    Visual C++ Express 不支援安裝專案。若要轉散發在 Visual C++ Express 中所建置之應用程式的 Visual C++ 程式庫,請使用 Visual C++ 可轉散發套件。如需詳細資訊,請參閱 HOW TO:使用 XCopy 部署

將 EXE 和 DLL 加入到專案中,並指定應該要將它們安裝到目標電腦上的何處

  1. 從 [專案] 功能表,選取 [加入],然後按一下 [檔案]。

  2. 尋找包含 MyApplication.exe 和 MyLibrary.DLL 的資料夾,然後予以選取。

  3. 在 [檔案系統] 視窗中,以滑鼠右鍵按一下 [應用程式資料夾],指向 [加入],然後按一下 [建立] 建立新資料夾。將它命名為 MyLibrary。

  4. 再次按一下 [應用程式資料夾],並選取 MyLibrary.DLL,然後將它拖曳到 [MyLibrary] 資料夾中。在 [方案總管] 的專案之下,應該可以在 [偵測相依性] 中看到 Visual Studio 會偵測對於 MFC90.dll 和 MSVCR90.dll. 的相依性。您必須加入這些 DLL 的對應合併模組。

  5. 從 [專案] 功能表中指向 [加入],然後按一下 [合併模組]。選取 [Microsoft_VC90_CRT_x86.msm] 和 [Microsoft_VC90_MFC_x86.msm],並按一下 [確定]。針對這些合併模組的偵錯版本,選取 [Microsoft_VC90_DebugCRT_x86.msm] 和 [Microsoft_VC90_DebugMFC_x86.msm]。

    注意事項:

    確認對應的 policy*.msm 模組加入到專案中。例如,policy_9_0_microsoft_vc90_crt_x86.msm 和 policy_9_0_microsoft_vc90_mfc_x86.msm 分別對應於 Microsoft_VC90_CRT_x86.msm 和 Microsoft_VC90_MFC_x86.msm。Visual Studio 將會偵測到相依於這些原則模組的主要模組,並將它們列在 [偵測到的相依性] 之下。如果沒有自動偵測到相依性,您就需要手動合併原則模組。

    若要將 64 位元應用程式部署到 64 位元作業系統,請針對對應的平台選取合併模組。若是 x64,請選取 [Microsoft_VC90_CRT_x86_x64.msm] 和 [Microsoft_VC90_MFC_x86_x64.msm]。若是 Itanium,則請選取 [Microsoft_VC90_CRT_x86_ia64.msm] 和 [Microsoft_VC90_MFC_x86_ia64.msm]。

建置 setup.exe

  • 按一下 [建置] 功能表上的 [建置方案]。

執行 setup.exe

  • 現在如果拿剛才建置的 setup.exe,在支援資訊清單架構繫結 (將應用程式繫結至其相依性) 的作業系統上執行 (Windows XP Home Edition、Windows XP Professional、Windows Server 2003),就會發生下列狀況:

將 Visual C++ 程式庫 DLL 部署為私用組件的程序

建立安裝和部署專案

  • 從 [檔案] 功能表,按一下 [新增專案],開啟 [其他專案類型] 節點,並選取 [安裝和部署],然後按一下 [安裝專案]。指定名稱,然後按一下 [確定]。

將 EXE 和 DLL 加入到專案中,並指定應該要將它們安裝到目標電腦上的何處

  1. 從 [專案] 功能表,選取 [加入],然後按一下 [檔案]。

  2. 尋找包含 MyApplication.exe 和 MyLibrary.DLL 的資料夾,然後予以選取。

  3. 在 [檔案系統] 視窗中,以滑鼠右鍵按一下 [應用程式資料夾],指向 [加入],然後按一下 [建立] 建立新資料夾。將它命名為 MyLibrary。

  4. 再次按一下 [應用程式資料夾],並選取 MyLibrary.DLL,然後將它拖曳到 [MyLibrary] 資料夾中。在 [方案總管] 的專案之下,應該可以在 [偵測相依性] 中看到 Visual Studio 會偵測對於 MFC90.dll 和 MSVCR90.dll. 的相依性。您必須從 \vc\redist 資料夾加入這些組件的對應資料夾。

    注意事項:

    若要偵錯組建 (Build),請使用 \vc\redist\debug_nonredist。

  5. 在 Windows 檔案總管中開啟 %PROGDIR%\Microsoft Visual Studio 8\VC\Redist\x86。

  6. 按住 Ctrl 鍵,按一下 [Microsoft.VC90.CRT] 和 [Microsoft.VC90.MFC] 資料夾。將這些資料夾拖曳至 Visual Studio,並將它們放入 [應用程式] 資料夾中。

  7. 重複執行步驟 6,但這次請將資料夾拖曳至 MyLibrary 資料夾。

    您可能會看到一則來自 Visual Studio 的訊息,表示您所包含的 DLL 是合併模組的一部分。這正是您要執行的動作。因此,請按一下 [否] 表示您不要對這個 DLL 使用 MSM。

    只有在使用 MFC/Winforms 整合時,您才會需要 mfcm90.dll 及其 Unicode 版本的 mfcm90u.dll。否則,您可以從安裝程式移除這些 DLL。

    只有當您在應用程式中使用 Managed 程式碼時,才需要使用 msvcm90.dll (例如,專案是使用 /clr or /clr:pure 建置而成的時候)。

    如果安裝專案中包含了 mfcm90.dll、mfcm90u.dll 或 msvcm90.dll,便會需要安裝 .NET Framework。您的安裝程式將無法在沒有安裝 .NET Framework 2.0 的目標電腦上運作。

    若是偵錯用途的安裝,請將上一步驟中的 CRT 變更為 DebugCRT,並將 MFC 變更為 DebugMFC。

    若要將 64 位元應用程式部署至 64 位元作業系統,請使用 \vc\redist\amd64 或 \vc\redist\ia64。

建置 setup.exe

  • 按一下 [建置] 功能表上的 [建置方案]。

執行 setup.exe

  1. 現在如果拿剛才建置的 setup.exe,在支援資訊清單架構繫結的作業系統上執行 (Windows XP Home Edition、Windows XP Professional、Windows Server 2003),就會發生下列狀況:

    • 您的應用程式會安裝在指定的目標資料夾中。

    • 應用程式和 DLL 會在執行階段使用 Microsoft.VC90.CRT 和 Microsoft.VC90.MFC 資料夾中的 CRT 和 MFC 組件。

  2. 在不支援資訊清單架構繫結的作業系統上 (Windows 2000),不建議使用這個部署方法。如果您嘗試在這些作業系統上,以先前所描述的步驟將 Visual Studio 組件部署為私用組件,則作業系統載入器將無法找到 CRT 和 MFC DLL。包含 Microsoft.VC90.CRT 和 Microsoft.VC90.MFC 的資料夾都必須加入到 PATH 環境變數,才能讓載入器找到它們。在此模式下,便會發生下列狀況:

    • 您的應用程式會安裝在指定的目標資料夾中。

    • 系統載入器會在執行階段透過 PATH 環境變數,從 Microsoft.VC90.CRT 和 Microsoft.VC90.MFC 資料夾解析 CRT 和 MFC 私用組件的位置。

請參閱

工作

HOW TO:使用 XCopy 部署

概念

部署範例