Пример другого сообщения Visual C++ — Runtime Error об аварийном завершении. Он не равен ошибке отсутствующей VCRUNTIME или MSVCP: перед исправлением нужен точный текст своего окна.
OS: Microsoft Corp.
Screenshot: PantheraLeo1359531 😺 (talk) · источник · Public domain · Used with permission from Microsoft.
Сообщение об отсутствующем VCRUNTIME140.dll, VCRUNTIME140_1.dll или MSVCP140.dll часто связано с библиотеками Microsoft Visual C++, которые нужны приложению для запуска. Обычно проверяют официальный пакет Visual C++ Redistributable, подходящий именно программе, а не скачивают отдельную DLL с первого найденного сайта.
Ниже — последовательность для Microsoft Windows 10 и Windows 11. Она начинается с точного имени ошибки и разрядности приложения. Похожие названия библиотек могут относиться к разным поколениям компонентов, поэтому один и тот же установщик не является универсальным ответом на любое сообщение с .dll.
Сохраните текст ошибки или сделайте снимок окна. Важны имя DLL, название приложения и момент появления: сразу при запуске, после обновления или при открытии определённого модуля.
MSVCP140.dll и MSVCP120.dll отличаются всего частью имени, но относятся к разным поколениям библиотек. Аналогично наличие числа 140 не означает, что достаточно скачать случайный файл с таким названием: приложению может требоваться целый набор компонентов подходящей версии.
Проверьте инструкцию и системные требования производителя программы. Для игры или профессионального редактора нужные компоненты иногда устанавливаются штатной проверкой файлов или восстановлением через официальный установщик.
Что записать из сообщения о DLL
Если сообщение говорит «точка входа не найдена», «недопустимый образ» или показывает код вроде 0xc000007b, не приравнивайте его автоматически к простому отсутствию одной DLL. В этих ситуациях возможны несовместимые либо повреждённые компоненты, и точный текст особенно важен.
Окно с общим заголовком Microsoft Visual C++ Runtime Library и текстом об аварийном завершении тоже не равно сообщению «не найден VCRUNTIME140.dll». В нём может вообще не называться отсутствующая библиотека. Для такого сбоя важны данные конкретной программы и условия воспроизведения; установка всех пакетов подряд не является подтверждённым диагнозом. Пример этого другого типа сообщения показан на обложке, чтобы различие было заметно до выбора исправления.
Откройте официальную страницу поддерживаемых Visual C++ Redistributable. На дату подготовки Microsoft выделяет текущее семейство v14 и отдельно более старые выпуски.
Для обычной современной программы с VCRUNTIME140, VCRUNTIME140_1 или MSVCP140 проверяется подходящий текущий пакет v14 с учётом требований разработчика. Установленная версия должна быть не старее требуемой приложению; простое наличие любой строки Visual C++ в списке ещё не подтверждает это условие.
Не нужно устанавливать всю среду разработки Visual Studio только ради запуска обычной готовой программы. Redistributable — отдельный компонент. Скачивайте его через ссылки на странице Microsoft и проверяйте, какой пакет выбрали.
| Пример имени | Что проверять |
|---|---|
VCRUNTIME140.dll, MSVCP140.dll, VCRUNTIME140_1.dll | Подходящий пакет семейства Visual C++ v14 и требования приложения |
MSVCP120.dll, MSVCR120.dll | Компоненты Visual C++ 2013, отдельно от текущего v14 |
MSVCP110.dll, MSVCR110.dll | Компоненты Visual C++ 2012 по требованиям приложения |
| Другая DLL | Сначала определить продукт и компонент, которому она принадлежит |
Для старого приложения используйте его документированный пакет и официальный источник. Название статьи со словом «последний» не означает, что новый v14 заменяет все старые семейства сразу.
Посмотрите архитектуру программы в её документации, названии официального установщика или сведениях продукта. 32-разрядной программе нужен компонент x86 даже в 64-разрядной Windows. Программе x64 нужен соответствующий пакет x64.
Наличие 64-разрядного процессора не делает все установленные приложения 64-разрядными. Поэтому совет «у вас Windows x64 — ставьте только x64» способен оставить ошибку у 32-разрядного приложения.
Пакет выбирается по приложению
На обычной Windows x64 разные программы могут требовать оба пакета, x86 и x64. Это нормальная ситуация. Для ARM64 сверяйтесь с требованиями приложения и текущей таблицей Microsoft: архитектура устройства и архитектура запускаемой программы тоже могут различаться. Не пытайтесь установить x64-пакет в 32-разрядную Windows.
Закройте проблемную программу. Запустите нужный установщик, скачанный по официальной ссылке, и прочитайте условия. Для изменения системного компонента могут понадобиться права администратора.
Если предлагается Install / «Установить», выполните установку. Если уже установленный пакет показывает Repair / «Восстановить», используйте поддерживаемое восстановление. Дождитесь результата и выполните перезагрузку, если она запрошена.
Установка компонента и проверка программы
После этого повторно запустите именно то приложение, которое выдавало ошибку. Если оно открылось, проверьте действие, при котором требовался дополнительный модуль. Появление сообщения об успешной установке компонента — промежуточный результат, а не проверка всей программы.
Если установщик сообщает, что уже имеется более новая версия, не удаляйте её автоматически. Сначала проверьте архитектуру, семейство и требования приложения. Ошибка может относиться к другому пакету, а не к необходимости откатить установленный.
Запишите точный код ошибки и название пакета. Сбой установки Redistributable — отдельная задача: повторное скачивание одной DLL не исправляет данные Windows Installer или недоступный источник пакета.
На официальной странице Microsoft есть руководство по устранению проблем установки Visual C++ Redistributable. Следуйте подходящему случаю и сохраняйте журналы по предложенному порядку. Если требуется определённая прежняя версия установщика, берите её из подтверждённого источника, а не подменяйте файлом с похожим именем.
Не удаляйте все Visual C++ из списка подряд. Другие программы могут продолжать использовать отдельные старые семейства или вторую архитектуру. Такая очистка способна добавить ошибки там, где до неё всё работало.
Проверьте штатное восстановление приложения, его обновления и целостность файлов предусмотренным производителем способом. Программа может поставлять собственные библиотеки в своей папке; повреждённый или неподходящий локальный экземпляр способен мешать даже при исправном системном компоненте.
Уточните, не скопировали ли на новый ПК одну папку вместо полноценной установки. Для многих приложений этого недостаточно: нужны зарегистрированные компоненты, данные и зависимости. Восстановите установку официальным пакетом, сохранив пользовательские материалы.
Если ошибка началась после обновления конкретного плагина, проверьте совместимость плагина, приложения и архитектуры. Общее сообщение с DLL может проявиться в одном модуле, а не во всей системе.
Отдельный файл с постороннего сайта может быть другой версии, архитектуры или происхождения. Даже совпадающее имя не подтверждает его пригодность. Копирование в System32, SysWOW64 и папку программы наугад усложняет понимание, какой экземпляр реально загружается.
Регистрация через regsvr32 также не является универсальной процедурой для каждой DLL: библиотеки среды выполнения не превращаются в исправный установленный пакет от произвольной команды регистрации.
Завершённый результат — приложение запускается после установки или восстановления нужного официального компонента, а другие программы сохранили работоспособность. Если проблема остаётся, передавайте разработчику точный текст ошибки, версию Windows, архитектуру приложения и результат установки пакета, не публикуя личные пути и содержимое рабочих документов.