Find merge modules for vcredist_x86.exe

蹲街弑〆低调 提交于 2021-01-28 08:02:05

问题


The latest visual studio c++ redistributable is located here. But the problem is that I want to include it to install shield installation and it needs merge module rather then exe file.

How can I find corresponding merge module (msm file)? Is there a way to download it to installshield somehow?


回答1:


In Summary: Use Installshield to install the executables for the VC++ runtime via "suite projects" (chain of setups to install with launcher), or locate the merge modules on disk on systems with Visual Studio installed and copy relevant items to Installshield redistributable folder.

Remember to test well, and also do a Windows Update after installation to check if there are pending security fixes (your merge modules might not be up to date). Try updating Visual Studio if you see problems - or install the latest SDK manually and look for newer versions of the merge modules.


The Redistributables View doesn't show you anything to download? Also please read this on why you should use the executables instead of the merge modules. Top-end, newer versions of Installshield allow you to create Suite projects (See link for details, here is a screenshot):

You should also have the merge modules on disk, just do a search (if you have Visual Studio installed on that box). Something like: C:\Program Files (x86)\Microsoft Visual Studio\2017\[EditionHere]\VC\Redist\MSVC\[VersionHere]\MergeModules.

However, the suite projects mentioned above should allow you to run the executable version(s), but not if you are using older Installshield versions.




回答2:


The Visual C++ Runtime depends on the Universal CRT, and you cannot install the Universal CRT via Merge Module on end-user’s computers (except on Windows XP). The Merge Modules do absolutely nothing for it on Vista/7/8/8.1/10.

See Daniel Griffing’s comments on this Visual Studio bug report.

Three solutions:

  1. Require Windows 10. It has the UCRT built into the OS; it will always be present.
  2. Require Windows <10 users to install Windows Update KB2999226 before installing your application.
  3. Distribute the UCRT manually as files in your application directory. This is cumbersome and dangerous as they won’t receive security updates, but lots of applications do this.

Every program using the dynamic CRT and built with the Windows 10 SDK (Visual Studio 2015, 2017, or 2019) requires either KB2999226 or a copy of the UCRT files to run on Windows <10, or it will fail missing api-ms-win-crt-runtime-l1-1-0-dll. These programs require nothing at all to run on Windows 10.

Since the download links in the KB articles are dead, you may want to point your users towards:

  • Windows 7
    32-bit: https://www.microsoft.com/en-us/download/details.aspx?id=49077
    64-bit: https://www.microsoft.com/en-us/download/details.aspx?id=49093

  • Windows 8
    32-bit: https://www.microsoft.com/en-us/download/details.aspx?id=49067
    64-bit: https://www.microsoft.com/en-us/download/details.aspx?id=49082

  • Windows 8.1
    32-bit: https://www.microsoft.com/en-us/download/details.aspx?id=49071
    64-bit: https://www.microsoft.com/en-us/download/details.aspx?id=49081



来源:https://stackoverflow.com/questions/64124699/find-merge-modules-for-vcredist-x86-exe

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!