Подтвердить что ты не робот

С# Отсутствует MSVCR100.dll

Я разрабатываю приложение, которое выполняет другое приложение, и я получил эту ошибку:

программа не может запускаться, поскольку MSVCR100.dll отсутствует в вашем компьютер

с моим приложением С#, могу ли я исправить эту проблему, скопировав эту .dll в папку windows/system32? Или существует другой способ сделать это?

4b9b3361

Ответ 1

Ниже приведены ссылки на правильные загрузки для установщика MSVCRT100. Скорее всего, вы хотите, чтобы ваши клиенты запускали до установки вашего приложения. Это правильно установит DLL файлы MSVCRT в соответствующий каталог, чтобы все приложения могли его использовать.

Распространяемый пакет Microsoft Visual С++ 2010 (x86) (возможно, что вам нужно для 32-разрядных и 64-разрядных ОС)

Распространяемый пакет Microsoft Visual С++ 2010 (x64) (Только если ваше приложение является 64-разрядным)

Если вы действительно хотите установить DLL файлы MSVCRT100 через модуль слияния в своей собственной MSI, вы можете связать свой MSI с MSM, которые находятся в версии x86, ваши "c:\program files\common files\merge modules" directory "(Предположим, что у вас установлена ​​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, который вы пытаетесь запустить, вы можете полностью обойти весь этот "установочный msvcrt100.dll" шум, просто статически связавшись с ним. В визуальной студии это опция в диалоговом окне проекта по C/С++ (на вкладке "Генерация кода" ). Измените "библиотеку времени выполнения" из "Многопоточной Dll" на простое "многопоточное". Это добавляет переключатель компилятора/MT.

Ответ 2

Любая программа, которую вы пытаетесь запустить, должна быть правильно установлена. Msvcr100.dll - одна из DLL, которые необходимо развернуть для программ, написанных на C или С++ с помощью VS2010. Это просто с проектом установки и развертывания или путем создания программы с опцией /MT. Обратитесь к владельцу программы за поддержкой.

Ответ 3

Отсутствует среда выполнения Visual С++.

Вы запускаете приложение С++ из своего кода на С#? если это так, убедитесь, что на клиентских машинах имеется надлежащее время выполнения.

Ответ 4

Вы можете исправить это, скопировав его и зарегистрировав его (с командной строкой: regsvr32 "DLLNAME" ), или вы можете отправить его с вашим исполняемым файлом, и он должен работать

ПРЕДУПРЕЖДЕНИЕ. Пожалуйста, ознакомьтесь со следующей статьей, прежде чем включать файл с вашим программным обеспечением... http://msdn.microsoft.com/en-us/library/ms235299.aspx

Я не несу ответственности за ваши действия.