Ошибка «msvcp140.dll не найден» или «vcruntime140.dll отсутствует»: как исправить
- Не качай dll поштучно с dll-сайтов: это файлы без версии, разрядности и регистрации, половина с троянским довеском, и система после них ломается глубже.
- Скачай с сайта Microsoft пакет Visual C++ 2015-2022: файлы vc_redist.x64.exe и vc_redist.x86.exe, установи оба.
- Докинь старые пакеты 2010, 2012 и 2013 обеих разрядностей, если ошибка содержит msvcp100, msvcp110 или msvcp120: цифра в имени подсказывает год.
- Если пакет уже стоит, а ошибка осталась — запусти его восстановление: Панель управления → Программы и компоненты → Visual C++ 2015-2022 → Изменить → Восстановить.
- Перезагрузись после установки: часть библиотек регистрируется в side-by-side хранилище только после перезапуска системы.
- Не удаляй из установленных программ старые записи Visual C++ «для порядка»: каждая нужна своим программам, и удаление ломает то, что работало годами.
- Ошибка «msvcp140.dll не найден» или «vcruntime140.dll отсутствует»: как исправить
- Матчасть: откуда берутся msvcp и vcruntime
- Шаг 1. Почему поштучные dll — худшее решение
- Шаг 2. Установка полного набора за десять минут
- Шаг 3. Восстановление, когда пакет уже стоит
- Шаг 4. Универсальная среда выполнения и старые Windows
- Шаг 5. Профилактика: не трогать то, что работает
- Если ошибка появилась после…
- Если ничего не помогло
- Частые факапы
- Мини-FAQ
- Вывод
- Читайте также
Ошибка «msvcp140.dll не найден» или «vcruntime140.dll отсутствует»: как исправить
Запускаешь игру или программу — и вместо окна вылезает серое сообщение: «msvcp140.dll не найден» или «vcruntime140.dll отсутствует на вашем компьютере». Первая реакция понятна: вбить имя файла в поиск, скачать с первого сайта и кинуть в System32. Именно так в систему приезжают трояны, а половина «починенных» программ продолжает падать, потому что dll — не потерянный файл, а кусок отсутствующего пакета Visual C++. Хорошая новость: лечится это за десять минут установкой официальных пакетов с сайта Microsoft, и после правильной установки ошибка не возвращается никогда. Разбираю, что такое рантаймы, почему их нужно ставить пачкой и обеими разрядностями и какие грабли ждут тех, кто качает dll поштучно.
Матчасть: откуда берутся msvcp и vcruntime
Программы для Windows, собранные в Visual Studio, не несут в себе стандартные библиотеки языка: они ссылаются на общие runtime-библиотеки, которые Microsoft поставляет отдельными пакетами Visual C++ Redistributable. msvcp — это стандартная библиотека C++, vcruntime — служебные функции рантайма, ucrtbase — универсальная среда выполнения Windows. Пакеты выходят по годам версий Visual Studio и живут в системе рядом (side-by-side): программа 2010 года требует свой пакет, программа 2023-го — свой, и оба могут быть нужны одновременно. Отсюда два следствия. Первое: «отсутствующая dll» означает не потерю файла, а отсутствие пакета, и лечится установкой пакета, а не копированием файла. Второе: на 64-битной Windows 32-битные программы читают свои dll из SysWOW64, а 64-битные из System32, поэтому пакеты нужны обеими разрядностями, даже если кажется, что «система же 64-битная».
Шаг 1. Почему поштучные dll — худшее решение
Сайты с подборками dll предлагают файл без трёх вещей, которые делают его рабочим: точной версии под твою программу, правильной разрядности и регистрации в side-by-side хранилище Windows, где пакеты живут по версиям. Половина «msvcp140.dll скачать бесплатно» отдаёт файл старой версии или другой разрядности, и программа падает уже с другим кодом, а вторая половина добавляет внутрь троянскую нагрузку: dll-сайты десятилетиями были главным каналом заражения под видом лечения. Ручное копирование в System32 ещё и обходит механизм обновлений: настоящий пакет позже обновится через Windows Update и получит заплатки безопасности, а твоя самопальная dll останется дырой навсегда. Единственный правильный источник dll — официальный пакет, который раскладывает всё сам куда нужно.
Шаг 2. Установка полного набора за десять минут
Чтобы открыть командную строку: нажми Win и R вместе, введи cmd и нажми Enter — откроется чёрное окно. Кнопка «Копировать» над блоком команд копирует команду целиком; вставляй в окно так: правый клик внутри — вставить, затем Enter.
Проверь, что уже лежит в системе, прежде чем ставить пакеты:
dir /b %SystemRoot%\System32\msvcp140*.dll %SystemRoot%\SysWOW64\msvcp140*.dll
Команда покажет, какие файлы среды выполнения уже лежат в каких папках.
Открой официальную страницу Microsoft «Latest supported Visual C++ Redistributable» и скачай два файла: vc_redist.x64.exe и vc_redist.x86.exe. Установи оба, перезагрузись. Прямые ссылки-пермалинки: vc_redist.x64.exe и vc_redist.x86.exe. Для ошибок с msvcp140 и vcruntime140 этого достаточно в девяти случаях из десяти. Если имя пропавшей dll содержит другую цифру, докинь пакет соответствующего года: msvcp120 и msvcr120 — пакет 2013, msvcp110 — 2012, msvcp100 — 2010, msvcp90 — 2008; все они есть на страницах загрузок Microsoft и в Центре обновлений как необязательные компоненты. Ставить пакеты поверх уже установленных безопасно: установщик сам починит повреждённые компоненты и не сломает работающие. Держи ссылку на страницу в закладках: это тот редкий случай, когда «скачать с официального сайта» звучит не как паранойя, а как единственно верный путь.
Шаг 3. Восстановление, когда пакет уже стоит
Если в установленных программах Visual C++ 2015-2022 значится, а dll всё равно «отсутствует», значит компоненты пакета побиты: неудачным обновлением, чистильщиком реестра или трояном. Лечится штатным восстановлением: Панель управления → Программы и компоненты → найди Microsoft Visual C++ 2015-2022 (обе разрядности по очереди) → Изменить → Восстановить. Установщик перепроверит файлы пакета против эталона и доложит недостающие. Там же проверь соседние пакеты 2012-2013, если ошибка упоминает их dll. После восстановления перезагрузись и запусти проблемную программу. Этот шаг закрывает случаи, когда «пакет стоит, а файла нет»: файл не потерялся волшебством, его съела поломка, и восстановление чинит её за минуту.
Шаг 4. Универсальная среда выполнения и старые Windows
На Windows 10 и 11 универсальная среда выполнения ucrtbase живёт в системе и обновляется через Центр обновлений, но на Windows 7 и 8.1 она приезжала отдельным обновлением KB2999226, и машины без него сыплют ошибками про api-ms-win-crt и ucrtbase при запуске современных программ. Если ты держишь старую систему сознательно: поставь все накопительные обновления до последнего, затем пакет Visual C++ 2015-2022, и только потом проверяй запуск. Порядок важен: пакет 2015+ требует установленную универсальную среду, и без неё его установщик честно ругается или ставится впустую. Для совсем старых программ на машинах без обновлений остаётся путь портативных сборок рантаймов, но это уже компромисс, а не лечение. Ветка Visual C++ 2015 (14.0.24212.0) снята с поддержки 15 октября 2025 г.; долгосрочные LTSC-версии лежат на my.visualstudio.com, но для лечения пропавших dll ставь текущую v14 по ссылкам выше.
Шаг 5. Профилактика: не трогать то, что работает
Три привычки, которые избавляют от ошибок dll навсегда. Первая: не удаляй из установленных программ записи Visual C++ разных лет «для наведения порядка» — каждая кормит свои программы, и удаление пакета 2010 года однажды уронит сканер принтера, который стоял десять лет. Вторая: не верь «оптимизаторам», которые предлагают почистить side-by-side хранилище: это не мусор, а версионный склад библиотек. Третья: после крупных обновлений Windows, которые иногда сбрасывают компоненты, прогони восстановление пакетов из шага 3, если знакомые программы вдруг заговорили кодами dll. Набор пакетов занимает суммарно меньше ста мегабайт и не требует ни обслуживания, ни внимания: поставил один раз — забыл.
Если ошибка появилась после…
- обновления Windows: крупные апдейты иногда сносят пакеты Visual C++ — повтори шаг 2;
- установки новой игры: игра легла поверх системных своих старых библиотек — удали игру через «Параметры» -> «Приложения» и поставь редист заново;
- переноса портативной сборки: редисты не кочуют с папкой приложения, ставь на целевой машине.
Если ничего не помогло
- На старой ОС (Windows 8.1/7/Server 2012) последний v14 из VS 2026 официально не поддерживается — он держит только Windows 10/11 и Server 2016/2019/2022/2025; здесь причина в ОС, а не в приложении.
- Проверь целостность системных файлов из терминала администратора (Win+X -> «Терминал (администратор)»):
sfc /scannow
- Убедись, что версия установленного редиста >= версии сборки приложения (раздел «Определение распространяемых библиотек DLL» в KB).
Частые факапы
- Скачал msvcp140.dll с dll-сайта и положил в System32: получил трояна или файл чужой разрядности, и следующая ошибка пришла уже с другим кодом и из другой программы.
- Поставил только x64-пакет на 64-битной Windows: половина программ и игр — 32-битные и читают dll из SysWOW64, где без x86-пакета пусто.
- Удалил «дубли» Visual C++ 2008 и 2010 из установленных программ: дубликами они только выглядят, а кормят старые сканеры, драйвер-утилиты и игры десятилетию давности.
- Копирует dll из папки соседней рабочей программы: версия может не совпасть, и программа-донор после изъятия файла падает следом.
- Игнорирует восстановление пакета и переустанавливает программу: dll живёт не в программе, а в системном рантайме, и переустановка программы не меняет ничего.
Мини-FAQ
Приложение 64-битное, зачем x86-пакет? Не зачем — ставь x64. x86 нужен только если само приложение 32-битное.
Есть ли отдельные языковые пакеты v14? Нет, в отличие от старых VS; один файл на все локали, условия лицензии по языкам — на https://aka.ms/VCRedistLicense.
Можно ли без перезагрузки? Можно, но некоторые библиотеки не подгрузятся до перезапуска — перезагрузка обязательна.
Вывод
Ошибка «msvcp140.dll не найден» или «vcruntime140.dll отсутствует» — это не потеря файла, а отсутствующий или побитый пакет Visual C++, и лечится она установкой официальных пакетов обеих разрядностей за десять минут. Цифра в имени dll подсказывает год пакета, восстановление через Программы и компоненты чинит побитые компоненты, а dll-сайты остаются единственным путём, который создаёт проблемы вместо решения. Держи набор пакетов 2005-2022 обеих разрядностей установленным навсегда: он весит копейки, не требует обслуживания и закрывает весь класс ошибок про пропавшие dll разом. И помни простое правило: dll приезжают в систему только пакетами, никогда поштучно, и это правило экономит не один вечер лечения последствий.