Приведенные ниже ссылки указывают на правильные загрузки для установщика MSVCRT100. Это, вероятно, то, что вы хотите, чтобы ваши клиенты запускали до установки вашего приложения. Это позволит правильно установить библиотеки MSVCRT в соответствующий каталог, чтобы все приложения могли его использовать.
Распространяемый пакет Microsoft Visual C ++ 2010 (x86) (вероятно, то, что вам нужно для 32-разрядной и 64-разрядной ОС)
Распространяемый пакет Microsoft Visual C ++ 2010 (x64) (Только если само приложение является 64-разрядным)
Если вы действительно хотите установить DLL-библиотеки MSVCRT100 через модуль слияния в своем собственном MSI - вы можете связать MSI с MSM, которые находятся в версии x86 для ваших «c: \ program files \ common files \ merge modules» каталог "(при условии, что у вас установлена Visual Studio 2010).
C:\Program Files (x86)\Common Files\Merge Modules>dir *CRT*.msm
Volume in drive C has no label.
Volume Serial Number is 60A4-1718
Directory of C:\Program Files (x86)\Common Files\Merge Modules
04/22/2011 01:18 PM 584,192 Microsoft_VC100_CRT_x64.msm
04/22/2011 01:41 PM 571,904 Microsoft_VC100_CRT_x86.msm <-- This is likely the MSM you want if your app is 32-bit.
04/22/2011 01:14 PM 847,360 Microsoft_VC100_DebugCRT_x64.msm
04/22/2011 01:39 PM 801,792 Microsoft_VC100_DebugCRT_x86.msm
Две другие альтернативы:
Вместо того, чтобы копировать MSVCRT100.dll в системный каталог, скопируйте его в каталог приложения EXE, которое вы пытаетесь запустить, в зависимости от этой DLL. Это не рекомендуется, но не рискует сломать другие приложения.
Еще одна альтернатива. Если у вас есть исходный код EXE-файла, который вы пытаетесь запустить, вы можете полностью обойти весь этот шум «install msvcrt100.dll», просто статически связавшись с ним. В Visual Studio это опция в диалоге свойств проекта в C / C ++ (на вкладке «Генерация кода»). Измените «библиотека времени выполнения» с «Многопоточный Dll» на просто «Многопоточный». Это добавляет ключ компилятора / MT.