windows-installer - 查找 vcredist_x86.exe 的合并模块
问题描述
最新的 Visual Studio C++ Redistributable 位于此处。但问题是我想包含它来安装屏蔽安装,它需要合并模块而不是 exe 文件。
如何找到相应的合并模块(msm 文件)?有没有办法下载它以某种方式安装屏蔽?
解决方案
Visual C++ 运行时依赖于通用 CRT,您不能通过合并模块在最终用户的计算机上安装通用 CRT(Windows XP 除外)。合并模块在 Vista/7/8/8.1/10 上完全没有任何作用。
请参阅 Daniel Griffing对此 Visual Studio 错误报告的评论。
三种解决方案:
- 需要 Windows 10。它在操作系统中内置了 UCRT;它会一直存在。
- 要求 Windows <10 用户在安装应用程序之前安装Windows 更新KB2999226 。
- 手动分发 UCRT 作为应用程序目录中的文件。这既麻烦又危险,因为它们不会收到安全更新,但很多应用程序都会这样做。
每个使用动态 CRT 并使用 Windows 10 SDK(Visual Studio 2015、2017 或 2019)构建的程序都需要 KB2999226 或 UCRT 文件的副本才能在 Windows <10 上运行,否则将失败丢失api-ms-win-crt-runtime-l1-1-0-dll
. 这些程序根本不需要在 Windows 10 上运行。
由于知识库文章中的下载链接已失效,您可能希望将您的用户指向:
Windows 7
32 位:https
://www.microsoft.com/en-us/download/details.aspx?id=49077 64 位:https ://www.microsoft.com/en-us/download/details .aspx?id=49093Windows 8
32 位:https
://www.microsoft.com/en-us/download/details.aspx?id=49067 64 位:https ://www.microsoft.com/en-us/download/details .aspx?id=49082Windows 8.1
32 位:https
://www.microsoft.com/en-us/download/details.aspx?id=49071 64 位:https ://www.microsoft.com/en-us/download/details .aspx?id=49081
推荐阅读
- python - 如何循环比较一列与其在Python中的对应列
- neo4j - Neo4j:在现有子图之间创建关系非常慢
- google-app-engine - Google Cloud Compute Engine VM 因未知原因停止?
- angular - 角材料日期选择器服务
- python - 使用 BeautifulSoup 从预订流程中获取结果
- reactjs - 你什么时候弹出一个 reactjs 应用程序
- operating-system - CPU 看到的指令序列与进程看到的指令序列有何不同?
- c# - 是否可以向 Active Directory 中的所有登录用户发送桌面通知?
- java - 此 URL 不支持 HTTP 方法 POST,在 Servlet 中有 doPost 方法
- java - 如何连接两个 IntStream?