演练:使用 Visual C++ 可再发行程序包部署 Visual C++ 应用程序

若要运行使用 Visual C++ 运行时库的应用,目标计算机必须安装兼容的 Microsoft Visual C++ 可再发行程序包。 本分步文章介绍了部署 Microsoft Visual C++ 可再发行程序包和 Visual C++ 应用程序的一种方法。 可以使用任何安装程序技术来部署应用。 本演练使用 IExpress 向导创建用于安装可再发行程序包和应用程序的自提取可执行文件安装程序。

先决条件

要完成本演练,必须具有以下组件:

  • 一台已安装 Visual Studio 的计算机。

  • 另一台没有 Visual C++ 库的计算机。

使用 Microsoft Visual C++ 可再发行程序包部署应用程序

  1. 如果需要部署一个简单的应用程序,请按照演练:使用安装项目部署 Visual C++ 应用程序中的步骤创建并生成 MFC 应用程序。 本演练假定应用的名称为 MyMFCApp(如示例所示),但你可以更改名称以与你的应用相符。

  2. 创建文件,将其命名为 setup.bat,并向其添加以下命令。 如果你的应用具有其他名称,请将 MyMFCApp 更改为应用的名称。 如果你的应用面向 x86,请将“Program Files”更改为“Program Files (x86)”。 移除前导冒号 (::),以取消注释安装目标体系结构的可再发行程序包的行。

    @echo off
    REM Choose one of the following Redistributable files to install
    ::vc_redist.x86.exe    REM remove leading :: to install Redistributable for x86
    ::vc_redist.x64.exe    REM remove leading :: to install Redistributable for x64
    ::vc_redist.arm64.exe  REM remove leading :: to install Redistributable for ARM64
    mkdir "C:\Program Files\MyMFCApp"
    copy MyMFCApp.exe "C:\Program Files\MyMFCApp"
    

    可以将命令行选项应用于批处理文件中的可再发行组件可执行文件。 有关详细信息,请参阅可再发行程序包的命令行选项

  3. 创建自解压安装程序文件:

    1. 在命令提示符处或“运行”窗口中,运行 iexpress.exe

    2. 选择“新建自解压指令文件”,然后选择“下一步”按钮

    3. 选择“解压文件并运行安装命令”然后选择“下一步”

    4. 在文本框中,输入应用的名称,然后选择“下一步”

    5. 在“确认提示”页上,选择“无提示”,然后选择“下一步”

    6. 在“许可协议”页上,选择“不显示许可”,然后选择“下一步”

    7. 在“包文件”页上,添加以下文件,然后选择“下一步”

      • 你的应用(.exe 文件)。

      • 应用的目标体系结构的可再发行程序包。 建议从 Microsoft 下载最新支持的可再发行程序包文件进行部署。 还可以部署 Visual Studio 安装中找到的可再发行程序包文件。 在 Visual Studio 2015 中,此文件称为 vcredist_x86.exevcredist_x64.exevcredist_arm.exe,位于 %VCINSTALLDIR%redist\1033\ 中。 在 Visual Studio 2017 及更高版本中,此文件称为 vc_redist.x86.exevc_redist.x64.exevc_redist.arm64.exe,位于 %VCToolsRedistDir% 中。

      • 在之前的步骤中创建的 setup.bat 文件。

    8. 在“安装要启动的程序”页上,在“安装程序”文本框中输入以下命令行,然后选择“下一步”。

      cmd.exe /c "setup.bat"

    9. 在“显示窗口”页上,选择“默认”,然后选择“下一步”

    10. 在“完成消息”页上,选择“无消息”。 选择“下一步” 。

    11. 在“包名和选项”页上,输入自解压安装程序文件的名称,选择“使用包内的长文件名称存储文件”选项,然后选择“下一步”。 文件名的末尾必须是 Setup.exe,例如 MyMFCAppSetup.exe

    12. 在“配置重启”页上,选择“无重启”。 选择“下一步” 。

    13. 在“保存自解压指令”页上,选择“保存自解压指令(SED)文件”。 选择“下一步” 。

    14. 在“创建包”页上,选择“下一步”。 选择“完成”。

  4. 在另一台没有 Visual C++ 库的计算机上测试自解压安装程序文件:

    1. 在另一台计算机上,下载一份安装程序文件。 然后,运行安装程序,并按照其中提供的步骤进行操作。 根据所选选项,安装可能需要接受用户帐户控制提升请求,或使用“以管理员身份运行”命令运行安装程序。

    2. 运行应用。

      自解压安装程序文件可安装在 setup.bat 中指定的文件夹中的应用。 由于 Microsoft Visual C++ 可再发行程序包安装程序包含在自解压安装程序文件中,因此应用会成功运行。

      重要

      为了确定安装的运行时版本,安装程序会检查注册表项 \HKLM\SOFTWARE\Microsoft\VisualStudio\<version>\VC\Runtimes\<platform>\Version。 (用于 Visual Studio 2015、2017、2019 和 2022 的 <version> 值为 14.0。)如果当前安装的版本比安装程序尝试安装的版本高,则安装程序成功返回而不安装较旧版本,并在控制面板中的已安装程序页上留下其他条目。

另请参阅

部署示例