Как исправить ошибку MSVCP140, MSVCR140, MSVCP120, MSVCR120, MSVCP110, MSVCR110 и другие dll ошибки, связанные с Visual C++
Наконец-то (НАКОНЕЦ-ТО!) Вы скачали новую игру, которую давным-давно ждали. Следили за каждым шагом установки, просмотрели все рекомендации и требования к системе. Игра установлена. Вы сели поудобнее, настроили звук на колонках, сообщили родным, что не будете доступны пару-тройку часов. Готовитесь к отличнейшему времяпрепровождению, запускаете игру ииииИИИИ! Читаете сообщение об ошибке:
Чтобы поиграть в игру – придется разобраться в том, что такое ошибка MSVCP140 (или подобная же ошибка MSVCR140, есть еще другие их вариации). А начать нужно издалека, с небольших основ написания программ.
Что нужно для написания программ
Программы пишут программисты. Необязательно иметь для этого профессиональное образование, но общее представление об этом иметь можно и нужно. Используя специальные алгоритмы, управляющие конструкции, графику и инструменты, программисты пишут программы для пользователей (и игры, естественно, тоже).
Одна из самых популярных сред разработки под ОС Windows, является Microsoft Visual C++. C++ – это довольно старый язык программирования, с его помощью написано огромное число программ. Поэтому, множество современных программ и игр используют в своей работе различные функции этого языка.
В операционной системе Windows даже используются специальные динамические библиотеки (файлы с расширением .DLL), которые хранят в себе уже готовые (скомпилированные) ресурсы языка C++. Другие программы используют их в своей работе. Такие .DLL-библиотеки загружены в операционную память компьютера в единственном экземпляре и многократно используются другими программами.
Отчего появляются ошибки MSVCP140, MSVCP120, MSVCR120
Итак, для работы большого количества программ (в том числе и игр), требуются специальные динамические библиотеки Microsoft Visual C++. Во многие установщики программ уже включены специальные распространяемые (Redistributable) библиотеки, которые устанавливаются автоматически. Это очень удобно – установил игру, запустил и играешь, ничего больше не нужно.
Однако, немалое количество приложений и игр поставляется без таких дополнительных пакетов. Если они ранее не были установлены в вашей операционной системе, программы и игры запускаться не будут – сгенерируется сообщение об ошибке, которое вы уже видели:
«Запуск программы невозможен, так как на компьютере отсутствует MSVCP140.dll. Попробуйте переустановить программу»
Возможны вариации, например, программа может потребовать библиотеки MSVCR140, MSVCP140, MSVCR120, MSVCP120, MSVCR110, MSVCP110 или некоторые другие.
Другая причина возникновения таких ошибок – это сбой при установке библиотек. Либо сбой при переустановке компонент, которые каким-то образом влияют на эти DLL-ки. Крайний вариант — кто-то удалил на вашем компьютере эти компоненты.
Итак, основная причина возникновения ошибок MSVCP140 и подобных – в том, что данные компоненты отсутствуют или некорректно работают.
Как исправить ошибки MSVCP140, MSVCP120 и другие
Для исправления таких ошибок существует один способ – установить вновь, или переустановить данные библиотеки. Сделать это можно двумя способами:
- Установить полноценный Microsoft Visual C++. В этом случае будет установлен пакет разработки, будет доступна среда разработки. Необходимые DLL-библиотеки установятся автоматически.
- Установить распространяемый пакет библиотек. Это специальный пакет DLL-ок, необходимых для запуска популярных программ и игр.
Чаще всего, любой из этих способов позволит избавиться от ошибок MSVCP140 / MSVCR140, MSVCP120 / MSVCR120 и подобных. Однако, есть и некоторые тонкости использования данных библиотек, о которых необходимо знать.
Особенности при установке и обновлении dll библиотек C++
- Скачивайте файлы только из проверенного источника
Все файлы нужно скачивать только из проверенного источника. Самым правильным решением будет скачать файлы библиотек (или установочник C++) с сайта Microsoft (вот прямая страница загрузки распространяемого пакета C++). Ошибка MSVCR140 / MSVCP140 довольно популярна, поэтому многие злоумышленники маскируют вредоносные файл под эти библиотеки.
- Устанавливайте все доступные для вашей ОС версии библиотек
Если у Вас установлена 64-х разрядная операционная система, необходимо установить как 64-х разрядные версии библиотек, так и 32-х разрядные. Есть достаточно приложений, которые (хоть и запускаются на 64-х разрядной ОС), но используют «младшие» версии библиотек MSVCR140 / MSVCP140. Поэтому, устанавливайте все доступные для Вашей ОС версии библиотек.
Проверить наличие dll библиотек можно по следующим адресам:
- 32-х разрядные ОС – C:\Windows\System32.
- 64-х разрядные ОС – C:\Windows\SysWOW64.
Конечно же, если у Вас 32-х разрядная ОС, то устанавливать 64-х разрядные версии библиотек не нужно.
Зарегистрируйте библиотеку в Windows
Если Вы скачали не пакет разработки Visual C++, а только требуемые библиотеки, после этого их необходимо зарегистрировать в операционной системе Windows. При установке пакета разработки, регистрация библиотек пройдет автоматически.
Чтобы зарегистрировать их самостоятельно, скопируйте скачанную библиотеку по адресу, представленному выше (в зависимости от ее разрядности, и разрядности вашей ОС). После этого запустите командную строку. Для ее запуска нажмите сочетание клавиш клавиатуры Windows + R, введите в окно «cmd» и нажмите клавишу Enter. Откроется черное командное окно, куда необходимо прописать команду regsvr32 и абсолютный адрес до Вашей библиотеки и запустить ее:
Произойдет регистрация библиотеки. Теперь ее можно использовать.
Не удаляйте старые версии MSVCR140, MSVCP140
На данный момент, последней доступной версией библиотеки C++ является MSVCR160 / MSVCP160. Ниже представлены все версии этих библиотек:
- MSVCR160.dll, MSVCP160.dll — Microsoft Visual C++ 2017
- MSVCR140.dll, MSVCP140.dll — Microsoft Visual C++ 2015
- MSVCR120.dll, MSVCP120.dll — Microsoft Visual C++ 2013
- MSVCR110.dll, MSVCP110.dll — Microsoft Visual C++ 2012
- MSVCR100.dll, MSVCP100.dll — Microsoft Visual C++ 2010
- MSVCR90.dll, MSVCP90.dll — Microsoft Visual C++ 2008
- MSVCR80.dll, MSVCP80.dll — Microsoft Visual C++ 2005
Очень часто возникает вопрос, а нужно ли хранить их старые версии? Может быть, стоит лишнее удалить, последняя актуальная версия есть – и хорошо, так?
Нет, старые версии удалять нежелательно. Ведь есть много старых программ (условно старых), которые написаны два-три-пять лет назад. Они используют старые версии библиотек и не могут использовать новые версии. Удалив какую-нибудь, например, MSVCP120, можно лишиться важных программ, которые вы устанавливали три года назад.
Переустановите программу, которую устанавливаете
Если Вы произвели все выше описанные действия, но программа, которую Вы устанавливали, все-равно выдает сообщение о необходимости MSVCR140 / MSVCP140, переустановите эту программу и перезагрузите компьютер. Чаще всего, после этих действий запуск пройдет успешно.
Установите последние обновления для ОС
И еще один шанс запустить необходимую вам программу – установить последние доступные обновления для операционной системы. Вполне возможно, что на Вашем компьютере произошел какой-то внутренний сбой, который регистрацией DLL-ки не решить. В этом случае, может помочь обновление ОС.
Итоги
Итак, наличие ошибки MSVCR140 / MSVCP140 и подобных, пользователи могут решить сами. Для этого необходимо либо скачать и установить пакет разработки Microsoft Visual C++. Либо скачать и зарегистрировать подходящую версию динамической библиотеки, которая у вас отсутствует или повреждена. Версию отсутствующей библиотеки можно узнать из сообщения об ошибке, которое генерируется после запуска той программы, которую Вы установили, но не можете использовать.
А если ошибка MSVCP140 появится снова в будущем, это означает, что каким-то образом библиотека была повреждена. Просто переустановите ее заново и все как рукой снимет.
Друзья, если вы заметили на сайте какой-нибудь баг, то напишите об этом в комментариях или отправьте сообщение на почту через контакты, и мы его исправим.
А также мы будем рады услышать ваши пожелания, если вам по какой-то причине неудобно пользоваться сайтом.
Не будьте равнодушными к проекту. Спасибо! :-)
Спасибо огромное. У меня как раз была проблема с ошибкой MSVCP140. Установка пакета C++ помогла решить проблему.
Спасибо большое. Статья помогла, ошибка больше не появляется