注意
你是否想要下载某个 Visual C++ 运行时文件? 转到 最新支持的 Visual C++ 可再发行组件下载 页。
可再分发文件和许可文档
Visual C++ 运行时可再发行组件包、合并模块和单个二进制文件的分发仅限于许可Visual Studio用户,并受Microsoft软件许可条款的约束。
部署应用程序时,还必须部署支持该应用程序所需的文件。 如果Microsoft提供这些文件中的任何一个,请检查是否允许重新分发这些文件。 可以在 IDE 中找到指向Visual Studio许可条款的链接。 在 About Microsoft Visual Studio 对话框中,选择 License Terms 链接。 还可以从 Microsoft Visual Studio License Directory 下载相关的软件许可条款和许可证。
若要查看在 Visual Studio 2022 Microsoft 软件许可条款的“可分发代码”部分中引用的“REDIST 列表”,请参阅 Microsoft Visual Studio 2022 的可分发代码文件。
若要查看在 Visual Studio 2019 Microsoft 软件许可条款的“可再发行代码”部分中引用的“REDIST 列表”,请参阅 Visual Studio 2019 的可分发代码文件。
若要查看在 Visual Studio 2017 Microsoft 软件许可条款的“可分发代码”部分中引用的“REDIST 列表”,请参阅 2017 Visual Studio 2017Microsoft的可分配代码文件。
若要查看在 Visual Studio 2015 Microsoft 软件许可条款的“可再发行代码”部分中引用的“REDIST 清单”,请参阅 Microsoft Visual Studio 2015 的可再发行代码文件。
有关可再发行文件的详细信息,请参阅确定要重新分发的动态链接库和部署示例。
找到可再发行文件
若要部署可再发行文件,可以使用Visual Studio安装的可再发行组件包。 在自 2017 年以来的 Visual Studio 版本中,这些文件命名为 vc_redist.arm64.exe、vc_redist.x64.exe 和 vc_redist.x86.exe。 在 2015、2017 和 2019 Visual Studio 中,它们也以名称 vcredist_x86.exe、vcredist_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 安装程序中名为 Visual C++ <version> 可再发行合并模块 的一个可安装的可选组件的一部分。 默认情况下,合并模块在 Visual Studio 2017 和 Visual Studio 2015 中作为 C++ 安装的一部分进行安装。 在 Visual Studio 2022 中安装它们时,可以在 %VCINSTALLDIR%Redist\MSVC\v143\MergeModules 中找到可再发行的合并模块。
在最新版本的 Visual Studio 2019 中,可再发行的合并模块位于 %VCINSTALLDIR%Redist\MSVC\v142\MergeModules 中。 在 2019 Visual Studio 和 2017 Visual Studio 中,它们也位于 %VCToolsRedistDir%MergeModules 中。 在 2015 Visual Studio中,它们位于 Program Files [(x86)]\Common Files\Merge Modules 中。
安装可再发行程序包
Visual C++ 可再发行组件包安装并注册所有 Visual C++ 库。 如果使用,请在安装应用程序之前,在目标系统上将其作为先决条件运行。 我们建议你在部署中使用这些包,因为它们能够启用 Visual C++ 库的自动更新。 有关演示如何使用这些包的示例,请参阅 演练:使用 Visual C++ 可再发行组件包部署 Visual C++ 应用程序。
每个 Visual C++ 可再发行程序包都会检查计算机上是否存在较新版本。 如果发现较新版本,则无法安装该软件包。 在 Visual Studio 2015 或更高版本中,可再发行组件包会显示一条错误消息,指出安装程序失败。 如果包使用 标志运行,则不会显示错误消息。 在任一情况下,Microsoft安装程序会记录错误,并将错误结果返回到调用方。
在 Visual Studio 2015 及更高版本中,可以通过检查注册表来确定是否安装了较新版本来避免此错误。 当前安装的版本号存储在注册表项中。
Visual Studio 2015、2017、2019 和 2022 的版本号为 14.0,因为最新的可再发行组件与追溯至 2015 年的以前版本是二进制兼容的。 密钥是 , 或 取决于平台的已安装 版本。 (仅当使用 Regedit 查看 x64 平台上已安装的 x86 包的版本时,才需要检查子项中的内容。)
版本号存储在字符串值中,也存储在、、和值的集合中。 为了避免在安装时出错,如果当前安装的版本较新,则必须跳过可再发行组件包的安装。
可再发行包的命令行选项
Visual C++ 可再发行程序包支持多个命令行选项。 “、或”选项将显示一个对话框,其中列出了可用的选项。 可以指定 安装、 修复或 卸载可再发行组件。 该选项将可再发行组件的完整内容复制到当前目录中。
默认情况下,可再发行组件会安装组件内容,并提示用户输入信息以及是否需要在安装后重新启动。 可以指定显示 进度但不需要用户交互的选项。 还可以指定一个选项 ,该选项不显示用户界面或需要任何用户交互。 选项会禁止任何重新启动的尝试。 默认情况下,会在 中创建一个日志文件。 可以使用 记录到特定文件。
此示例命令用于安装 x64 可再发行组件。 它显示安装进度,但不需要用户交互或重启:
vc_redist.x64.exe /install /passive /norestart
安装可再发行的合并模块
重要
Visual C++ 可再发行程序包文件的合并模块( 文件)已弃用。 不建议将其用于应用程序部署。 相反,我们建议集中部署 Visual C++ 可再发行程序包。 可再发行包的集中部署使 Microsoft 能够独立维护运行库文件。 卸载应用不会影响使用中央部署的其他应用程序。
使用可再发行组件包进行中央部署时,不负责跟踪和维护运行时库。 否则,对运行时库文件的更新需要更新和重新部署 安装程序。 在这样做之前,你的应用可能容易受到 bug 或安全问题的影响。
可再发行合并模块必须包含在用于部署应用程序的Windows安装程序包(或类似的安装包)中。 有关详细信息,请参阅 使用合并模块重新分发。 有关示例,请参阅 演练:使用安装项目部署 Visual C++ 应用程序。
安装单个可再发行程序包
还可以直接在应用程序本地文件夹中安装可再发行程序包 DLL。 应用程序本地文件夹是包含可执行应用程序文件的那个文件夹。 出于服务原因,不建议使用此安装位置。
潜在的运行时错误
如果Windows找不到应用程序所需的可再发行 DLL 之一,它可能会显示类似于此 DLL 的消息:“此应用程序无法启动,因为找不到 library.dll。 重新安装应用程序可能会修复此问题。”
若要解决此类错误,请确保应用程序安装程序正确编译。 验证是否在目标系统上正确部署了可再发行库。 有关详细信息,请参阅 了解 Visual C++ 应用程序的依赖项。
相关内容
- 使用合并模块进行重新分发,介绍如何使用 Visual C++ 可再发行合并模块将 Visual C++ 运行时库安装为系统文件夹中的共享 DLL。
- 重新分发 Visual C++ ActiveX 控件 介绍了如何重新分发使用 ActiveX 控件的应用程序。
- 重新分发 Microsoft Foundation 类 (MFC) 库 介绍了如何重新分发使用 MFC 的应用程序。
- 重新分发活动模板库 (ATL) 应用程序 介绍如何重新分发使用 ATL 的应用程序。 在 Visual Studio 2012 及更高版本中,不需要 ATL 库。
- 部署示例 链接到演示如何部署 Visual C++ 应用程序的示例。
- 部署桌面应用程序 引入了 Visual C++ 部署概念和技术。
- 最新支持的 Visual C++ 可再发行组件下载 链接,指向最新支持的 Visual C++ 可再发行组件下载。