Ошибка Visual C++ Redistributable: что означает и как исправить
Сообщение о нехватке msvcp140.dll или vcruntime140.dll означает, что программе нужны библиотеки среды выполнения, которых нет в системе. Это лечится установкой официального пакета.
Что такое распространяемый пакет
Visual C++ Redistributable — набор библиотек, которые используют программы, написанные на C++. Разработчик не должен включать их в exe, поэтому пакет ставится отдельно. Один пакет обслуживает множество программ.
Какие файлы обычно не хватает
msvcp140.dll, vcruntime140.dll, msvcr120.dll, vcruntime140_1.dll. Номер в имени указывает на версию среды. Программа, собранная под старую версию, может требовать пакет 2013 года, а не самый новый.
Ошибка 0xc000007b
Она означает несовпадение разрядности: 32-битная программа получает 64-битную библиотеку или наоборот. Решение — установить оба пакета (x86 и x64), а не искать «правильную» DLL.
Откуда скачивать
Только с сайта Microsoft: страница «Latest supported Visual C++ Redistributable downloads» содержит ссылки на все версии. Скачивание DLL с сайтов-агрегаторов опасно: файл может содержать вредоносный код.
Какую версию выбрать
Начните с самой новой поддерживаемой версии, затем при необходимости добавьте пакеты прошлых лет. Если программа старая, ей нужен соответствующий пакет. Установка нескольких версий одновременно — нормальная практика.
Разрядность
Устанавливайте и x86, и x64. Даже на 64-битной системе часть программ 32-битные. Это избавляет от большинства ошибок с DLL.
Установка
Запустите файл от имени администратора, дождитесь окончания, перезагрузите компьютер. Затем проверьте запуск программы. Если ошибка осталась, посмотрите, какая именно DLL отсутствует.
Проверка установленных версий
Параметры → Приложения показывают список установленных пакетов с годами и версиями. Отсюда можно удалить повреждённую версию и установить заново. Удаляйте по одной, чтобы не сломать другие программы.
Что не нужно делать
Не копируйте DLL в папку Windows «на удачу», не используйте «DLL-фиксеры», не отключайте проверку подписи, не скачивайте архивы с библиотеками. Такие действия часто приводят к заражению.
Если не помогает
Проверьте журнал событий: там может быть указано имя модуля и код. Иногда проблема в самом установщике программы, а не в библиотеке. Переустановите приложение, скачав свежую версию с сайта разработчика.
Почему без библиотеки не запуститься
Программа обращается к функциям, которые находятся в отдельном файле. Если файла нет, система не может загрузить приложение. Это не ошибка разработчика, а особенность распространения библиотек.
Какие версии существуют
Пакеты выпускались с 2005 по 2022 год и далее. Каждый год — отдельная линейка. Программа, собранная в 2013 году, обычно требует пакет 2013 года, даже если новые версии установлены.
Что означает ошибка 0xc000007b
Чаще всего это несовпадение разрядности или повреждённая библиотека. Установка обоих пакетов решает большинство случаев. Если ошибка осталась, проверьте, не подменён ли файл в папке программы.
Проверка журнала событий
Журнал приложений фиксирует сбой с именем модуля. Это точнее, чем сообщение на экране. Откройте событие и посмотрите путь: он подскажет, какая библиотека не загрузилась.
Чистая переустановка
Удалите все пакеты Visual C++ через список приложений и установите заново официальные версии. Это безопаснее, чем «ремонт» отдельных DLL. После установки перезагрузите компьютер.
Порядок установки
Ставьте пакеты от старых к новым. Хотя формально порядок не важен, такая последовательность реже вызывает ошибки установщика. Если установка прерывается, проверьте права администратора.
Почему нельзя брать DLL из интернета
Файл с файлообменника может быть изменён. Подмена системных библиотек — известный способ распространения вредоносного ПО. Официальный установщик Microsoft исключает этот риск.
Влияние на другие программы
Один пакет обслуживает десятки приложений. Удаление «лишней» версии может сломать игру или редактор. Поэтому перед чисткой стоит записать, какие пакеты установлены.
Если ошибка в установщике
Иногда не устанавливается сам пакет: мешают старые версии или повреждённый реестр. Помогает средство устранения неполадок установки и перезагрузка. В крайнем случае — восстановление системы.
Когда проблема не в библиотеке
Антивирус может блокировать запуск. Проверьте журнал защиты. Также стоит проверить дату файла программы: возможно, она повреждена при скачивании.
Итог
Скачайте официальные пакеты, установите x86 и x64, перезагрузитесь. Если ошибка осталась — смотрите журнал событий и проверяйте саму программу. «Фиксеры DLL» не нужны.
Как проверить разрядность программы
Откройте свойства exe и посмотрите, указано ли «32-разрядная» или «64-разрядная». Для старых программ чаще нужна 32-разрядная библиотека. Установите оба пакета, чтобы не гадать.
Ремонт вместо удаления
В списке приложений у пакета может быть кнопка «Изменить». Через неё доступен пункт «Восстановить». Это быстрее переустановки и сохраняет настройки других программ.
Итог для игры
Если ошибка появилась после установки старой игры, скорее всего нужен пакет соответствующего года. Установите его отдельно и запустите игру снова. Не копируйте DLL из интернета.
Частая причина после обновления
Обновление Windows иногда удаляет старые пакеты как несовместимые. Программы, которым они нужны, перестают запускаться. Установите нужную версию заново — это безопасно.
Итог проверки
Откройте список приложений и запишите установленные пакеты Visual C++. После переустановки сверьтесь со списком. Так вы поймёте, какая версия отсутствовала.
Проверка после установки
Запустите проблемную программу сразу после перезагрузки. Если ошибка исчезла, зафиксируйте версию пакета в заметке. Это пригодится при следующей переустановке системы.
Что делать с портативными программами
Сборки «без установки» иногда содержат собственные библиотеки. Если они повреждены, ошибка повторяется. Скачайте официальную версию программы с сайта разработчика вместо портативной сборки.
Что запомнить
- DLL берут только у Microsoft.
- Ставят и x86, и x64.
- Ошибка 0xc000007b — про разрядность.
- Старые версии могут быть нужны.
- «DLL-фиксеры» опасны.
FAQ
Можно ли обойтись одной версией?
Не всегда, старые программы требуют свои.
Нужна ли перезагрузка?
Обычно да, для применения.
Опасно ли ставить много пакетов?
Нет, они не конфликтуют.
Почему ошибка появилась после обновления?
Возможно, удалили пакет или повредили систему.