问题
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:
- Require Windows 10. It has the UCRT built into the OS; it will always be present.
- Require Windows <10 users to install Windows Update KB2999226 before installing your application.
- 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=49093Windows 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=49082Windows 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