在 Windows 中安装某些东西时是否可以运行另一个安装程序? [英] Is it possible to run another installer while installing something in Windows?

查看:39
本文介绍了在 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 运行时.

I have an .msi installer developed using wix that installs some dlls in a directory on the file system. Some of these dlls have dependency on Visual C++ Redistributable Packages for Visual Studio 2013. I am wondering that is it possible to install that run time (downloaded from https://www.microsoft.com/en-us/download/details.aspx?id=40784) during my installer's installation process? - that is while the .msi installer is running and copying dlls, it will install the MSVC run time at the same time for the user.

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

I want to know if this is possible.. If it is, is this generally a good or bad practice? Should it be enough to just copy the MSVCP120.dll and MSVCR120.dll along with all other dlls? Thanks.

推荐答案

VC++ Runtime:Visual C++ 运行时可以通过 合并模块(更高版本的运行时存在一些限制)或作为其自身的可执行文件(vcredist_x86.exevcredist_x64.exe),通常安装在您的主 MSI 之前(最新的 C++ 下载).

VC++ Runtime: The Visual C++ runtime can be installed via merge modules (basics) inside the MSI (there are some limitations with later versions of the runtime) or as an executable on its own (vcredist_x86.exe or vcredist_x64.exe), generally installed before your main MSI (latest C++ downloads).

Setup.exe:您可以将这样的运行时安装程序捆绑在使用 WiX 制作的 setup.exe 中刻录功能(Hello Burn 示例 - 它是一个引导程序、链接器、启动器 - 按顺序运行安装)或类似的功能InstallShield(套件项目)、高级安装程序其他打包工具.一些资源:更多关于刻录制作 setup.exe 启动器.

Setup.exe: You can bundle such a runtime installer inside a setup.exe made with WiX's Burn feature (Hello Burn example - it is a bootstrapper, chainer, launcher - runs installs in sequence) or a similar feature in InstallShield (suite projects), Advanced Installer or other packaging tools. Some resources: More on Burn and Making setup.exe launchers.

Universal CRT:如本答案所述,建议使用 vcredist_x86.exevcredist_x64.exe 安装程序而不是由于通用 CRT"而导致的合并模块组件未与合并模块一起正确安装.通用CRT"与 Visual C++ 对为 通用 Windows 平台构建的通用应用程序的支持有关.

Universal CRT: As stated in this answer, it is recommended to use the vcredist_x86.exe or vcredist_x64.exe installers instead of the merge modules due to the "Universal CRT" components not being installed properly with the merge modules. "Universal CRT" relates to Visual C++ support for Universal Apps built for the Universal Windows Platform.

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

Single File Copy: Please avoid copying single files to the location application folder. This is important in order to be able to rely on system-wide security fixes for the C++ runtime (coming down from Windows Update or installed in other ways).

链接:

这篇关于在 Windows 中安装某些东西时是否可以运行另一个安装程序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆