轉散發 Visual C++ 檔案

注意

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

可轉散發檔案和授權

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

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

若要檢視 Visual Studio 2019 Microsoft 軟體授權條款之一節中所參考的「REDIST 清單」,請參閱 適用于 Microsoft Visual Studio 2019 的可散發程式碼檔案

若要檢視 Visual Studio 2017 Microsoft 軟體授權條款一節中所參考的「REDIST 清單」,請參閱 適用于 Microsoft Visual Studio 2017 的可散發程式碼檔案。

若要檢視 Visual Studio 2015 Microsoft 軟體授權條款一節中所參考的「REDIST 清單」,請參閱 適用于 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++ 應用程式

每個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 中,也會儲存在 、 MinorBldREG_DWORDRbld 值的集合 Major 中。 若要避免在安裝時發生錯誤,如果目前安裝的版本較新,您必須略過可轉散發套件的安裝。

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

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

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

vc_redist.x64.exe /install /passive /norestart

安裝可轉散發合併模組

重要

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

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

安裝個別可轉散發檔案

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

潛在的執行階段錯誤

如果 Windows 找不到應用程式所需的其中一個可轉散發程式庫 DLL,它可能會顯示類似:「此應用程式無法啟動,因為 找不到 library.dll 。 重新安裝應用程式可能會修正此問題。

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

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

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

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

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

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

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