微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Windows 中安装某些东西时是否可以运行另一个安装程序?

如何解决在 Windows 中安装某些东西时是否可以运行另一个安装程序?

我有一个使用 wix 开发的 .msi 安装程序,可以在文件系统的目录中安装一些 dll。其中一些 dll 依赖于 Visual Studio 2013 的 Visual C++ Redistributable Packages。我想知道是否可以在我的安装程序的安装过程中安装该运行时(从 https://www.microsoft.com/en-us/download/details.aspx?id=40784 下载)? - 也就是说,当 .msi 安装程序运行并复制 dll 时,它会同时为用户安装 MSVC 运行时。

我想知道这是否可行..如果是,这通常是好还是坏的做法?将 MSVCP120.dll 和 MSVCR120.dll 与所有其他 dll 一起复制是否就足够了?谢谢。

解决方法

VC++ 运行时:可以通过 MSI (merge modules) 内的 basics (there are some limitations with later versions of the runtime) 安装 Visual C++ 运行时或作为单独的可执行文件(vcredist_x86.exevcredist_x64.exe),通常在您的主 MSI (latest C++ downloads) 之前安装。

Setup.exe:您可以将此类运行时安装程序捆绑在使用 WiX 的刻录功能({{ 3}} - 它是一个引导程序、链接器、启动器 - 按顺序运行安装)或 Hello Burn example (InstallShield)、suite projectsAdvanced Installer 中的类似功能。一些资源:other packaging toolsMore on Burn

Universal CRT:如本答案所述,建议使用 setup.exe{{ 1}} 安装程序而不是合并模块,因为“通用 CRT”组件没有与合并模块一起正确安装。 “通用 CRT”涉及 Visual C++ 对为 Making setup.exe launchers 构建的通用应用程序的支持。

单个文件复制:请避免将单个文件复制到位置应用程序文件夹。为了能够依赖 C++ 运行时的系统范围安全修复(来自 Windows 更新或以其他方式安装),这一点很重要。


链接:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。