Ошибка "Запуск программы невозможен, отсутствует vcruntime140.dll"
- Определи разрядность падающей программы: в Диспетчере задач у 32-битных процессов стоит пометка «32 бит», у 64-битных её нет; 32-битной программе нужен x86-пакет рантайма, даже на 64-битной Windows.
- Поставь оба пакета Visual C++ 2015-2022: vc_redist.x86.exe и vc_redist.x64.exe с сайта Microsoft, оба сразу, без раздумий о разрядности.
- Если пакеты стоят — запусти восстановление каждого: Программы и компоненты → Visual C++ 2015-2022 → Изменить → Восстановить.
- Проверь карантин антивируса: защитники умеют утаскивать vcruntime140.dll из папок программ как подозрительный файл, и диалог появляется на ровном месте.
- Для игр проверь целостность файлов в лаунчере: часть игр кладёт свои рантаймы в папку установки, и побитая локальная копия даёт тот же диалог.
- Если всё цело, а диалог жив — прогони программу через утилиту Dependencies: она покажет полную цепочку недостающих библиотек, включая неочевидные api-наборы.
- Ошибка "Запуск программы невозможен, отсутствует vcruntime140.dll"
- Матчасть: почему диалог советует не то
- Шаг 1. Разрядность процесса: проверка за десять секунд
- Шаг 2. Оба пакета и восстановление
- Шаг 3. Карантин антивируса: невидимый похититель
- Шаг 4. Локальные копии dll в папке программы
- Шаг 5. Dependencies: когда диалог врёт о единственной dll
- Шаг 6. Системные файлы: последний рубеж
- Если ошибка появилась после…
- Если ничего не помогло
- Частые факапы
- Мини-FAQ
- Вывод
- Читайте также
Ошибка "Запуск программы невозможен, отсутствует vcruntime140.dll"
Окно появляется в первую секунду запуска: «Программа не может быть запущена, так как на этом компьютере отсутствует vcruntime140.dll. Попробуйте переустановить программу». Совет из самого окна — переустановить программу — не работает почти никогда, потому что vcruntime140.dll не входит в программу: она живёт в системном рантайме Visual C++, и переустановка программы не приносит его с собой. Дальше начинаются круги: переустановка по третьему разу, копирование dll из интернета, чистка реестра. Остановись: у этого диалога есть точная диагностика из четырёх шагов, и в девяти случаях из десяти виновник находится на первых двух. Разбираю, как загрузчик ищет dll, почему разрядность решает всё и что делать, когда пакет стоит, а диалог остаётся.
Матчасть: почему диалог советует не то
Сообщение «переустановите программу» — родовая фраза загрузчика 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 со второй ступени. Этот шаг выглядит странно, но именно он лечит случаи «пакет стоит, восстановление прошло, антивирус молчит, а диалог жив».
Шаг 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 из командной строки, установщик переложит файлы пакета минуя кэш. На этом рубеже заканчиваются все сценарии диалога, и если он всё ещё жив после шести шагов, проблема уже не в рантаймах, а в побитом профиле пользователя или политике безопасности, и следующий инструмент — чистый запуск и новая учётка.
Если ошибка появилась после…
- обновления/сброса Windows: редист снесён — повтори шаг 2;
- установки приложения-«портативки»: рантаймы не кочуют с папкой — ставь на целевой машине;
- замены старого
vcruntime140.dllна «выкачанный» из архива: модифицированная DLL ломает подпись импорта — только официальный пакет.
Если ничего не помогло
- Сравни версию установленного редиста с версией сборки приложения (KB, «Определение распространяемых библиотек DLL»): редист должен быть >=.
- Проверь системные файлы из терминала администратора (Win+X -> «Терминал (администратор)»):
sfc /scannow
- Удали и переустанови само приложение после установки редиста.
Частые факапы
- Переустанавливает программу три раза по совету самого диалога: dll живёт в системном рантайме, и установщик программы её не приносит, круг повторяется бесконечно.
- Копирует vcruntime140.dll из System32 в SysWOW64 руками «чтобы была»: разрядности файлов разные, и 64-битная копия в папке 32-битных dll даёт новое падение с другим кодом.
- Возвращает файл из карантина и продолжает пользоваться пиратской сборкой: антивирус утащил модифицированную dll по делу, и возврат означает возврат дыры.
- Ставит пакет 2015-2022 и ждёт чуда для программы 2010 года с msvcp100: цифра в имени dll — это год пакета, и старой программе нужен её собственный пакет.
- Игнорирует пометку «32 бит» в Диспетчере задач и ставит только x64-пакет: процесс читает SysWOW64, где пусто, и диалог возвращается при каждом запуске.
Мини-FAQ
Это то же самое, что msvcp140? Та же семья v14 и тот же пакет vc_redist; отличается лишь формулировка окна («запуск невозможен / vcruntime140» против «msvcp140 не найден»).
Поможет ли переустановка Windows? Нет, проблема в отсутствующем рантайме, а не в системе; достаточно одного vc_redist.
Нужна ли перезагрузка? Да, часть библиотек подхватится только после перезапуска.
Вывод
Диалог «программа не может быть запущена, отсутствует vcruntime140.dll» советует переустановить программу, но виновник почти всегда в другом месте: разрядность процесса без установленного x86-пакета, побитые компоненты рантайма, карантин антивируса или побитая локальная копия dll в папке самой программы. Дерево диагностики из шести веток проходит эти места по порядку и закрывает восемь случаев из десяти на первых двух: оба пакета 2015-2022 и их восстановление. Держи под рукой утилиту Dependencies как лупу для упрямых случаев: она показывает полную цепочку зависимостей и отделяет системную поломку от побитой программы за пять минут. А совет из диалога оставь на самый конец: переустановка программы помогает только тогда, когда побиты её собственные файлы, и это меньшинство случаев.