共用方式為


轉散發 Visual C++ 檔案

注意

您來到這裡是因為想要下載其中一個 Visual C++ 執行階段檔案嗎? 移至最新支援的 Visual C++ 可轉散發套件下載頁面。

可轉散發檔案和授權

當您部署應用程式時,您也必須部署必要的支援檔案。 如果其中有任何檔案是由 Microsoft 提供,請檢查您否有權限轉散發。 您可以在 IDE 中找到 Visual Studio 授權條款的連結。 使用 [關於 Microsoft Visual Studio] 對話方塊中的 [授權條款] 連結。 或者,從 Visual Studio 授權目錄下載相關的 EULA 和授權。

若要檢視 Visual Studio 2022 Microsoft 軟體授權條款中「可轉散發程式碼」區段所參考的「可轉散發清單」,請參閱 Microsoft Visual Studio 2022 的可轉散發程式碼檔案

若要檢視 Visual Studio 2019 Microsoft 軟體授權條款中「可轉散發程式碼」區段所參考的「可轉散發清單」,請參閱 Microsoft Visual Studio 2019 的可轉散發程式碼檔案

若要檢視 Visual Studio 2017 Microsoft 軟體授權條款中「可轉散發程式碼」區段所參考的「可轉散發清單」,請參閱 Microsoft Visual Studio 2017 的可轉散發程式碼檔案

若要檢視 Visual Studio 2015 Microsoft 軟體授權條款中「可轉散發程式碼」區段所參考的「可轉散發清單」,請參閱 Microsoft Visual Studio 2015 的可轉散發程式碼檔案

如需可轉散發檔案的詳細資訊,請參閱決定要轉散發哪些 DLL部署範例

尋找可轉散發檔案

若要部署可轉散發檔案,您可以使用 Visual Studio 所安裝的可轉散發套件。 在自從 2017 以來的 Visual Studio 版本中,這些檔案會命名為 vc_redist.arm64.exevc_redist.x64.exevc_redist.x86.exe。 在 Visual Studio 2015、2017 和 2019 中,它們也會以名稱 vcredist_x86.exevcredist_x64.exe 和 (僅限 2015) vcredist_arm.exe 提供。

尋找可轉散發檔案的最簡單方式是在開發人員命令提示字元中使用環境變數。 在 Visual Studio 2022 中,可轉散發檔案位於 %VCINSTALLDIR%Redist\MSVC\v143 資料夾中。 在最新版的 Visual Studio 2019 中,您會在 %VCINSTALLDIR%Redist\MSVC\v142 資料夾中找到可轉散發檔案。 在 Visual Studio 2017 和 Visual Studio 2019 中,也可在 %VCToolsRedistDir% 中找到它們。 在 Visual Studio 2015 中,這些檔案可以在 %VCINSTALLDIR%redist\<locale> 中找到,其中 <locale> 是可轉散發套件的地區設定。

在 Visual Studio 2022 和 2019 中,合併模組檔案是 Visual Studio 安裝程式中名為 C++ <版本> 可轉散發 MSM 選擇性可安裝元件的一部分。 合併模組預設會安裝為 Visual Studio 2017 和 Visual Studio 2015 中 C++ 安裝的一部分。 在 Visual Studio 2022 中安裝時,您會在 %VCINSTALLDIR%Redist\MSVC\v143\MergeModules 中找到可轉散發合併模組。 在最新版本的 Visual Studio 2019 中,可轉散發合併模組位於 %VCINSTALLDIR%Redist\MSVC\v142\MergeModules。 在 Visual Studio 2019 和 Visual Studio 2017 中,也可在 %VCToolsRedistDir%MergeModules 中找到它們。 在 Visual Studio 2015 中,可在 Program Files [(x86)]\Common Files\Merge Modules 中找到它們。

安裝可轉散發套件

Visual C++ 可轉散發套件會安裝並註冊所有 Visual C++ 程式庫。 如果您使用一個可轉散發套件,請在安裝應用程式之前,先在目標系統上將其執行為必要條件。 建議您使用這些套件進行部署,以便自動更新 Visual C++ 程式庫。 如需如何使用這些套件的範例,請參閱逐步解說:使用 Visual C++ 可轉散發套件部署 Visual C++ 應用程式

每個 Visual C++ 可轉散發套件都會檢查電腦上是否有較新的版本存在。 若發現較新的版本,則不會安裝該套件。 在 Visual Studio 2015 或更新版本中,可轉散發套件會顯示錯誤訊息,說明安裝程式失敗。 若使用 /quiet 旗標執行套件,則不會顯示錯誤訊息。 不論是哪一種情況,Microsoft 安裝程式都會記錄錯誤,而且錯誤結果會被傳回給呼叫者。 在 Visual Studio 2015 和更新版本中,您可以透過檢查登錄以判斷是否已安裝較新的版本,來避免發生此錯誤。 目前安裝的版本號碼會儲存在 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0\VC\Runtimes\{x86|x64|arm64} 機碼中。 Visual Studio 2015、2017、2019 和 2022 的版本號碼為 14.0,因為最新的可轉散發套件與舊版相容至 2015。 機碼為 arm64x86x64,取決於平台已安裝的 vcredist 版本。 (只有在您是使用 RegEdit 檢視 x64 平台上安裝的 x86 套件版本時,才需要檢查 Wow6432Node 子機碼底下。)版本號碼會儲存在 REG_SZ 字串值 Version 中,也會儲存在 MajorMinorBldRbld REG_DWORD 值集合中。 為了避免安裝時發生錯誤,如果目前安裝的版本較新,您必須略過安裝可轉散發套件。

可轉散發套件的命令列選項

C++ 可轉散發套件支援數個命令列選項。 /?/h/help 選項會顯示一個快顯對話方塊,其中會列出可用的選項。 您可以指定 /install 以進行安裝、指定 /repair 以進行修復,或指定 /uninstall 以解除安裝可轉散發套件。 /layout 選項會複製目前目錄中可轉散發套件的完整內容。 根據預設,可轉散發套件會安裝其內容,並提示使用者輸入資訊,以及是否在安裝之後重新啟動。 您可以指定 /passive 選項,該選項會顯示進度,但不需要使用者互動。 您也可以指定 /quiet 選項,該選項不會顯示任何 UI 或要求任何使用者互動。 /norestart 選項會隱藏任何重新啟動的嘗試。 根據預設,會在 %TEMP% 中建立記錄檔。 您可以使用 /log filename.txt 來登入特定檔案。

這個範例命令會安裝 x64 可轉散發套件。 會顯示安裝進度,但不需要使用者互動或重新啟動:

vc_redist.x64.exe /install /passive /norestart

安裝可轉散發合併模組

重要

Visual C++ 可轉散發檔案的合併模組 (.msm 檔案) 已被取代。 不建議您將其用於應用程式部署。 相反地,建議您集中部署 Visual C++ 可轉散發套件。 可轉散發套件的集中部署可讓 Microsoft 獨立提供服務執行階段程式庫檔案。 此外,應用程式的解除安裝不會影響其他同時使用集中部署的應用程式。 當您使用可轉散發套件進行集中部署時,您不用負責追蹤和維護執行階段程式庫。 否則,執行階段程式庫檔案的更新會要求您更新和重新部署 .msi 安裝程式。 您的應用程式可能容易受到 Bug 或安全性問題的影響,直到您這麼做為止。

可轉散發合併模組必須包含在您用來部署應用程式的 Windows Installer 套件 (或類似的安裝套件) 中。 如需詳細資訊,請參閱使用合併模組轉散發。 如需範例,請參閱逐步解說:使用安裝專案部署 Visual C++ 應用程式

安裝個別可轉散發檔案

您也可以直接在應用程式本機資料夾中安裝可轉散發 DLL。 應用程式本機資料夾是包含應用程式可執行檔的資料夾。 基於維護原因,建議您不要使用此安裝位置。

可能的執行階段錯誤

如果 Windows 找不到您應用程式所需的可轉散發程式庫 DLL,可能會顯示類似如下的訊息:「這個應用程式無法啟動,因為找不到 library.dll。 重新安裝應用程式可能可以解決這個問題。」

若要解決這類錯誤,請確定您的應用程式安裝程式已正確建置。 確認可轉散發程式庫已在目標系統上正確部署。 如需詳細資訊,請參閱了解 Visual C++ 應用程式的相依性

使用合併模組轉散發
描述如何使用 Visual C++ 可轉散發合併模組,將 Visual C++ 執行階段程式庫安裝在 %windir%\system32\ 資料夾中作為共用的 DLL。

轉散發 Visual C++ ActiveX 控制項
描述如何轉散發使用了 ActiveX 控制項的應用程式。

轉散發 MFC 程式庫
描述如何轉散發使用了 MFC 的應用程式。

轉散發 ATL 應用程式
描述如何轉散發使用 ATL 的應用程式。 在 Visual Studio 2012 和更新版本中,不需要 ATL 程式庫。

部署範例
示範如何部署 Visual C++ 應用程式的範例連結。

部署傳統型應用程式
介紹 Visual C++ 部署概念和技術。