首页 > 解决方案 > Visual Studio 2017 安装程序项目 - 包括 VC++ 2015 Redistributable

问题描述

我正在使用 Visual Studio 2017 中的“Visual Studio Installer”项目类型为我的应用程序创建安装程序。

我希望我的安装程序在我的应用程序中安装 Visual C++ Redistributable 2015。我已经下载了该vc_redist.x86.exe文件,将其包含在我的项目中,并且我正在尝试将安装作为“安装”上的自定义操作进行。我带着论点开始/install /passive /norestart

当我执行我的安装程序时,当它执行自定义操作时,我收到此错误:

此 Windows Installer 程序包存在问题。作为设置的一部分运行的程序未按预期完成。请联系您的支持人员或软件包供应商。

我可以vc_redist.x86.exe /install /passive /norestart在命令提示符下运行,没有问题或错误。

有什么建议或替代方法将 Visual C++ 可再发行组件作为我的安装的一部分?

标签: visual-studio-2017installationredistributablevisual-studio-setup-proje

解决方案


您不能将该可再发行组件作为自定义操作运行,因为它是基于 MSI 的安装,并且您不能运行递归 MSI 安装(您调用 VC redist 安装)。

在 Visual Studio 安装项目中,您应该使用先决条件功能。在解决方案资源管理器中右键单击安装项目,选择属性,然后选择先决条件。这将构建一个 setup.exe 来安装先决条件,然后是您的 MSI 文件。据我所知,Microsoft Visual C++ 14 是 Visual Studio 2015 运行时。


推荐阅读