visual-studio-2017 - 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++ 可再发行组件作为我的安装的一部分?
解决方案
您不能将该可再发行组件作为自定义操作运行,因为它是基于 MSI 的安装,并且您不能运行递归 MSI 安装(您调用 VC redist 安装)。
在 Visual Studio 安装项目中,您应该使用先决条件功能。在解决方案资源管理器中右键单击安装项目,选择属性,然后选择先决条件。这将构建一个 setup.exe 来安装先决条件,然后是您的 MSI 文件。据我所知,Microsoft Visual C++ 14 是 Visual Studio 2015 运行时。
推荐阅读
- python - 通过 pyton shell 脚本激活的 conda 不能通过导入运行
- javascript - 如何仅返回文本作为 Google Apps 脚本对 Telegram 内联查询的响应?
- amazon-web-services - 定期将数据从 AWS Documentdb 传输/复制到 Google Cloud Big Query
- linux - 使用 sed 附加远程 ssh 无法正常工作的字符串
- javascript - 访客经纬度地理定位值发送到控制器 Laravel
- search-engine - 死胡同如何影响网页?
- windows - 替换“operator new”时出现警告 (C28251):“new”注释不一致,此实例没有注释
- javascript - React Native Expo - 自定义字体未使用 Font.loadAsync 加载
- c# - 在单个 ASP.NET Core 3.1 Web API 中管理两个 SPA;一个在根目录中,另一个在“管理员”路由中
- angular - 如何将一个组件投影到另一个组件中并将结果传递给 ng-boostrap 的 NgbModal.open(content)