Главная›Windows›Ошибка "Запуск программы невозможен, отсутствует vcruntime140.dll"

Ошибка "Запуск программы невозможен, отсутствует vcruntime140.dll"

Краткое решение
  1. Определи разрядность падающей программы: в Диспетчере задач у 32-битных процессов стоит пометка «32 бит», у 64-битных её нет; 32-битной программе нужен x86-пакет рантайма, даже на 64-битной Windows.
  2. Поставь оба пакета Visual C++ 2015-2022: vc_redist.x86.exe и vc_redist.x64.exe с сайта Microsoft, оба сразу, без раздумий о разрядности.
  3. Если пакеты стоят — запусти восстановление каждого: Программы и компоненты → Visual C++ 2015-2022 → Изменить → Восстановить.
  4. Проверь карантин антивируса: защитники умеют утаскивать vcruntime140.dll из папок программ как подозрительный файл, и диалог появляется на ровном месте.
  5. Для игр проверь целостность файлов в лаунчере: часть игр кладёт свои рантаймы в папку установки, и побитая локальная копия даёт тот же диалог.
  6. Если всё цело, а диалог жив — прогони программу через утилиту Dependencies: она покажет полную цепочку недостающих библиотек, включая неочевидные api-наборы.

Ошибка "Запуск программы невозможен, отсутствует vcruntime140.dll"

Окно появляется в первую секунду запуска: «Программа не может быть запущена, так как на этом компьютере отсутствует vcruntime140.dll. Попробуйте переустановить программу». Совет из самого окна — переустановить программу — не работает почти никогда, потому что vcruntime140.dll не входит в программу: она живёт в системном рантайме Visual C++, и переустановка программы не приносит его с собой. Дальше начинаются круги: переустановка по третьему разу, копирование dll из интернета, чистка реестра. Остановись: у этого диалога есть точная диагностика из четырёх шагов, и в девяти случаях из десяти виновник находится на первых двух. Разбираю, как загрузчик ищет dll, почему разрядность решает всё и что делать, когда пакет стоит, а диалог остаётся.

Порядок поиска dll загрузчиком: папка программы, системные папки по разрядности, PATH — и где живёт vcruntime140
Порядок поиска dll загрузчиком: папка программы, системные папки по разрядности, PATH — и где живёт vcruntime140
[Мем: «Запуск невозможен / vcruntime140» — это не вирус и не игра сломалась, а отсутствующий C++ рантайм; чинится тем же vc_redist, что и msvcp140]

Матчасть: почему диалог советует не то

Сообщение «переустановите программу» — родовая фраза загрузчика Windows, который не смог найти одну из нужных процессу библиотек. Загрузчик ищет dll по порядку: папка самой программы, затем системные папки с учётом разрядности процесса, затем переменная PATH. vcruntime140.dll при правильной установке живёт на второй ступени: 64-битная копия в System32, 32-битная в SysWOW64, и кладёт её туда пакет Visual C++ 2015-2022, а не установщик программы. Отсюда главная причина диалога на живом пакете: разрядность. 32-битная программа читает SysWOW64, и если установлен только x64-пакет, для неё папка пуста, и загрузчик честно рапортует об отсутствии. Вторая причина — побитые компоненты пакета, третья — изъятый антивирусом файл, четвёртая — побитая локальная копия dll в папке самой программы, которая на первой ступени поиска перекрывает системную.

Чтобы открыть командную строку: нажми Win и R вместе, введи cmd и нажми Enter — откроется чёрное окно. Кнопка «Копировать» над блоком команд копирует команду целиком; вставляй в окно так: правый клик внутри — вставить, затем Enter.

Проверь, какие файлы среды выполнения уже лежат в системе:

dir /b %SystemRoot%\System32\vcruntime140*.dll %SystemRoot%\SysWOW64\vcruntime140*.dll

Команда покажет пути ко всем найденным копиям dll.

Шаг 1. Разрядность процесса: проверка за десять секунд

Открой проблемную программу и тут же глянь в Диспетчер задач → Подробности: у 32-битных процессов в столбце имени стоит пометка «32 бит» (включи столбец через ПКМ по заголовку, если не виден), у 64-битных пометки нет. Программа не стартует вовсе — смотри разрядность её exe-файла: ПКМ → Свойства → Совместимость не подскажет, но подскажет папка установки (Program Files (x86) обычно означает 32 бита) или документация. Зная разрядность, ты понимаешь, какой пакет ей нужен: x86-пакет для 32-битной, x64 для 64-битной. Проще всего поставить оба и закрыть вопрос навсегда, но проверка разрядности спасает в упрямых случаях, когда один из пакетов не ставится или побит, и нужно чинить прицельно.

Шаг 2. Оба пакета и восстановление

Скачай с официальной страницы Microsoft vc_redist.x86.exe и vc_redist.x64.exe, установи оба, перезагрузись. Если диалог остался, запусти восстановление: Панель управления → Программы и компоненты → Microsoft Visual C++ 2015-2022 (x86) → Изменить → Восстановить, затем то же для (x64). Восстановление перекладывает файлы пакета из кэша установщика и чинит то, что побито обновлениями или чистильщиками. Перезагрузись и проверь запуск. На этом шаге закрываются восемь случаев из десяти: либо пакета не было вовсе, либо его компоненты были побиты, и штатное восстановление вернуло их к эталону.

Шаг 3. Карантин антивируса: невидимый похититель

Защитник Windows и сторонние антивируры иногда помещают vcruntime140.dll в карантин: особенно если dll лежит не в системной папке, а в папке программы или игры, куда её положил кривой установщик или пиратская сборка. Открой журнал защиты: Безопасность Windows → Защита от вирусов и угроз → Журнал защиты, или карантин своего антивируса, и поищи записи про vcruntime или msvcp. Нашёл — посмотри, откуда файл: системные копии восстанавливай шагом 2, локальные копии в папках программ лечатся переустановкой программы с официального сайта или проверкой целостности в лаунчере. Важно не просто вернуть файл из карантина, а убрать причину: пиратские сборки кладут в папки модифицированные dll, и антивирус реагировал на них по делу.

Шаг 4. Локальные копии dll в папке программы

Загрузчик ищет dll сначала в папке программы, и локальная побитая копия vcruntime140.dll перекрывает здоровую системную: диалог или падение продолжаются при полностью исправном пакете. Проверка: зайди в папку установки проблемной программы и поищи там vcruntime140.dll и msvcp140.dll. Нашлись — для игр запусти проверку целостности файлов в Steam или Epic: лаунчер сверит локальные файлы с эталоном и заменит побитые. Для обычных программ удали локальные копии (предварительно скопировав в резерв) и запусти программу: загрузчик возьмёт системную здоровую dll со второй ступени. Этот шаг выглядит странно, но именно он лечит случаи «пакет стоит, восстановление прошло, антивирус молчит, а диалог жив».

Дерево диагностики: разрядность, оба пакета, восстановление, карантин, локальные копии, Dependencies
Дерево диагностики: разрядность, оба пакета, восстановление, карантин, локальные копии, Dependencies

Шаг 5. Dependencies: когда диалог врёт о единственной dll

Иногда за сообщением про vcruntime140 стоит цепочка: не хватает не одной dll, а целого набора api-компонентов, и загрузчик называет лишь первую остановку. Бесплатная утилита Dependencies (духовный наследник старого Dependency Walker, открытая на GitHub) открывает exe-файл и показывает дерево всех зависимостей с пометками отсутствующих. Запусти её от администратора, открой проблемный exe и смотри красные пункты: если кроме vcruntime140 светятся api-ms-win-crt-строки — проблема в универсальной среде выполнения и лечится обновлениями Windows и пакетом 2015-2022; если светятся специфичные dll программы — побиты её собственные файлы, и лечится переустановкой программы. Этот шаг отделяет системную проблему от поломки самой программы за пять минут вместо вечного круга переустановок.

sfc /scannow

Шаг 6. Системные файлы: последний рубеж

Если Dependencies показывает отсутствующей системную копию vcruntime140 при установленном пакете, значит побиты файлы в System32 или SysWOW64. Командная строка от администратора: сначала DISM /Online /Cleanup-Image /RestoreHealth, затем sfc /scannow, именно в таком порядке: DISM чинит хранилище компонентов, sfc раскладывает из него здоровые файлы. После перезагрузки проверь запуск программы. Крайний случай — установка пакета поверх с принудительным ремонтом: запусти vc_redist нужной разрядности с ключом /repair из командной строки, установщик переложит файлы пакета минуя кэш. На этом рубеже заканчиваются все сценарии диалога, и если он всё ещё жив после шести шагов, проблема уже не в рантаймах, а в побитом профиле пользователя или политике безопасности, и следующий инструмент — чистый запуск и новая учётка.

Карта шагов: порядок действий от первого к последнему
Карта шагов: порядок действий от первого к последнему

Если ошибка появилась после…

Если ничего не помогло

sfc /scannow

Частые факапы

  1. Переустанавливает программу три раза по совету самого диалога: dll живёт в системном рантайме, и установщик программы её не приносит, круг повторяется бесконечно.
  2. Копирует vcruntime140.dll из System32 в SysWOW64 руками «чтобы была»: разрядности файлов разные, и 64-битная копия в папке 32-битных dll даёт новое падение с другим кодом.
  3. Возвращает файл из карантина и продолжает пользоваться пиратской сборкой: антивирус утащил модифицированную dll по делу, и возврат означает возврат дыры.
  4. Ставит пакет 2015-2022 и ждёт чуда для программы 2010 года с msvcp100: цифра в имени dll — это год пакета, и старой программе нужен её собственный пакет.
  5. Игнорирует пометку «32 бит» в Диспетчере задач и ставит только x64-пакет: процесс читает SysWOW64, где пусто, и диалог возвращается при каждом запуске.

Мини-FAQ

Это то же самое, что msvcp140? Та же семья v14 и тот же пакет vc_redist; отличается лишь формулировка окна («запуск невозможен / vcruntime140» против «msvcp140 не найден»).

Поможет ли переустановка Windows? Нет, проблема в отсутствующем рантайме, а не в системе; достаточно одного vc_redist.

Нужна ли перезагрузка? Да, часть библиотек подхватится только после перезапуска.

Вывод

Диалог «программа не может быть запущена, отсутствует vcruntime140.dll» советует переустановить программу, но виновник почти всегда в другом месте: разрядность процесса без установленного x86-пакета, побитые компоненты рантайма, карантин антивируса или побитая локальная копия dll в папке самой программы. Дерево диагностики из шести веток проходит эти места по порядку и закрывает восемь случаев из десяти на первых двух: оба пакета 2015-2022 и их восстановление. Держи под рукой утилиту Dependencies как лупу для упрямых случаев: она показывает полную цепочку зависимостей и отделяет системную поломку от побитой программы за пять минут. А совет из диалога оставь на самый конец: переустановка программы помогает только тогда, когда побиты её собственные файлы, и это меньшинство случаев.

Читайте также

Если это не ваш случай
Похожие ситуации — возможно, ваша проблема решается иначе:
Яндекс Браузер — быстро и безопасноЗащита от вирусов и фишинга, ускоренная загрузка страниц. Бесплатно.
Скачать
Помогла ли вам эта статья?
Спасибо за ваш отзыв! Это помогает нам делать инструкции лучше.