Код 0xc000007b означает, что Windows не смогла загрузить файл, нужный программе: он повреждён или рассчитан на другую разрядность (32 или 64 бита). Среди типовых решений - переустановка программы и установка обоих пакетов Visual C++ Redistributable - x86 и x64. Ниже шаги идут от самого простого и безопасного к более трудоёмкому. Скачивать отдельные DLL-файлы с сайтов не нужно.
Что означает код 0xc000007b
В списке системных кодов Microsoft этот код называется STATUS_INVALID_IMAGE_FORMAT. Описание в переводе: файл либо не предназначен для работы в Windows, либо содержит ошибку; Microsoft предлагает установить программу заново с оригинального носителя или обратиться к системному администратору либо разработчику ПО.
Одна из типичных причин - несовпадение разрядности. Программа бывает 32-битной (x86) и 64-битной (x64), и у каждой свои библиотеки. По документации Microsoft, 32-битный процесс не может загрузить 64-битную DLL, а 64-битный - 32-битную. Если программа обращается к библиотеке «не того» типа, или нужная библиотека повреждена, Windows прерывает запуск и показывает этот код.
Шаг 1: быстрые проверки
- Перезагрузите компьютер и запустите программу снова.
- Нажмите на ярлык правой кнопкой и выберите «Запуск от имени администратора». Если сработало, откройте «Свойства» - «Совместимость» и включите там запуск от администратора постоянно.
- Переустановите программу или игру из официального источника. Если ошибка появилась сразу после установки, возможно, установка не завершилась или была прервана.
Шаг 2: проверьте разрядность Windows и программы
Откройте «Пуск» - «Параметры» - «Система» - «О системе» и найдите строку «Тип системы». Windows 11 существует только в 64-битном варианте, на Windows 10 бывают обе.
Эта проверка нужна, чтобы не поставить программу не той разрядности. Если у разработчика на выбор есть x86 и x64, на 64-битной Windows берите x64. 32-битные программы на 64-битной Windows тоже работают, но для них системе нужны именно 32-битные библиотеки, о них - следующий шаг. Узнать разрядность уже установленной программы проще всего по папке: на 64-битной Windows 32-битные программы обычно ставятся в «C:\Program Files (x86)», а 64-битные - в «C:\Program Files» (см. документацию Microsoft). Если программа уже запущена, разрядность можно посмотреть в Диспетчере задач: откройте вкладку «Подробности», щёлкните правой кнопкой по заголовку столбцов, выберите «Выбрать столбцы» и включите столбец с разрядностью процесса. В зависимости от версии Windows он называется «Платформа» или «Архитектура»; если такого столбца нет, ориентируйтесь на папку установки. Для программ, которые ещё не установлены, разрядность обычно указана в названии файла загрузки или на странице скачивания.
Шаг 3: Visual C++ Redistributable обеих разрядностей
Многие программы и игры собраны средствами Microsoft Visual C++ и требуют, чтобы в системе стоял пакет Visual C++ Redistributable. Разрядность пакета должна совпадать с разрядностью программы: 32-битной программе нужен x86-пакет, 64-битной - x64. На 64-битной Windows работают программы обеих разрядностей, поэтому обычно ставят оба пакета.
Что делать:
- Откройте страницу Microsoft Latest Supported Visual C++ Redistributable Downloads.
- В таблице v14 скачайте пакеты X86 и X64. Актуальный v14 подходит для программ, собранных в Visual Studio 2017-2026.
- Установите оба. Если установщик сообщает, что более новая версия уже есть, это нормально: по странице Microsoft Redistribute Visual C++ Files в таком случае пакет не ставится.
- Если пакет уже установлен и подозрение на повреждение, запустите установщик из командной строки с ключом
/repair, напримерvc_redist.x64.exe /repairиvc_redist.x86.exe /repair. Запускайте их из папки, куда сохранили установщик, в командной строке от имени администратора.
Оговорка: сама Microsoft на этой странице пишет, что тем, кто чинит программу обновлением библиотек Visual C++, лучше спросить инструкции у разработчика программы. Старые игры иногда требуют и более старые пакеты (2010, 2013), их ссылки есть там же, в разделах про прежние версии Visual Studio. Ставьте их, только если об этом сказано в требованиях к игре.
Шаг 4: DirectX для старых игр
Если ошибка появляется в старой игре, ей могут понадобиться устаревшие библиотеки DirectX, которых в Windows 10 и 11 обычно нет. Для них у Microsoft есть пакет DirectX End-User Runtime: он добавляет библиотеки D3DX9, D3DX10, D3DX11, XAudio 2.7 и XInput 1.3, при этом, по словам Microsoft, не меняет DirectX, уже установленный в Windows.
Ограничение: на странице загрузки в списке поддерживаемых систем указаны Windows XP, Vista, 7 и серверные Windows 2003 и 2008, а Windows 10 и 11 не названы. Поэтому этот шаг нужен не всем: пробуйте его, когда игра старая или установщик игры сам просит DirectX. Скачивайте только со страницы Microsoft.
Шаг 5: DISM и sfc
Если ошибка встречается в разных программах, возможно, повреждены системные файлы. Откройте командную строку от имени администратора и выполните по очереди (порядок важен: Microsoft советует запускать DISM перед sfc):
DISM.exe /Online /Cleanup-image /Restorehealth
sfc /scannow
DISM может работать долго и обращается к серверам Microsoft, поэтому нужен интернет. Перезагрузитесь и проверьте программу. Как читать результаты этих проверок, подробно разобрано в статье «Не найден DLL при запуске программы». Официальная инструкция: Microsoft Support.
Шаг 6: драйверы, антивирус, точка восстановления
Если предыдущие шаги не помогли:
- Драйвер видеокарты. Для игр установите свежий драйвер с сайта производителя видеокарты (NVIDIA, AMD, Intel), не со сторонних сайтов.
- Антивирус. Загляните в журнал карантина: он мог удалить или заблокировать файл программы. Сначала переустановите программу из официального источника. Восстанавливать файл из карантина стоит, только если вы уверены в его происхождении (сомневаетесь - проверьте файл на VirusTotal), а исключение лучше добавлять для конкретного файла, а не для всей папки. Отключать защиту целиком не стоит.
- Точка восстановления. Если ошибка появилась недавно, а точки восстановления создавались, откат на дату до ошибки иногда решает проблему. Откат, как правило, не затрагивает личные файлы, но удаляет программы, драйверы и обновления, установленные после этой даты, поэтому важные данные лучше сохранить заранее. Если защита системы была выключена, точек восстановления может не быть.
Как понять, что помогло
Обычный признак успеха - программа запускается без окна с кодом 0xc000007b, и оно не возвращается после перезагрузки. Меняйте по одному шагу и после каждого пробуйте запуск: так будет понятно, что именно сработало, и не придётся ставить лишнее.
Чего делать не нужно
- Скачивать DLL-файл с сайта «библиотек» и копировать его в System32 или SysWOW64. Для этой ошибки это особенно плохая идея: файл другой разрядности как раз и вызывает 0xc000007b. Почему отдельные DLL опасны, написано в соседней статье.
- Ставить сторонние «сборники всех библиотек». Официальные пакеты Microsoft лежат на страницах, ссылки на которые даны выше, и их можно проверить.
- Использовать «оптимизаторы» и «чистильщики реестра». Для этой ошибки они не нужны и могут навредить.
Какой шаг выбрать
| Ситуация | С чего начать |
|---|---|
| Программа работала раньше, ошибка появилась внезапно | Шаг 1: перезагрузка, права администратора |
| Ошибка сразу после установки новой программы | Шаг 1 (переустановка), затем шаг 3 |
| Ошибка в новой программе, в других всё работает | Шаг 2 (разрядность), шаг 3 |
| Ошибка в старой игре | Шаг 3, затем шаг 4 |
| Ошибка в нескольких программах | Шаг 5: DISM и sfc |
| Ничего не помогло | Шаг 6, затем запрос к разработчику программы |
Если ничего не помогло
Статья про ошибку, которая появляется при запуске программ в уже работающей Windows. Если не загружается сама Windows (чёрный экран, код ошибки при старте системы), это другая ситуация, и приведённые шаги к ней не относятся.
Сообщите разработчику или в поддержку игры: название программы, версию Windows (Параметры - Система - О системе), разрядность и что уже пробовали. Это быстрее, чем перебирать советы вслепую.
Источники
- NTSTATUS values: STATUS_INVALID_IMAGE_FORMAT - Microsoft Learn
- Running 32-bit Applications - Microsoft Learn
- Latest Supported Visual C++ Redistributable Downloads - Microsoft Learn
- Redistribute Visual C++ Files - Microsoft Learn
- DirectX End-User Runtime Web Installer - Microsoft Download Center
- 32-bit and 64-bit Windows: FAQ - Microsoft Support
- Overview of the compatibility considerations for 32-bit programs on 64-bit versions of Windows - Microsoft Learn
- Use the System File Checker tool - Microsoft Support
Другие материалы о Windows и софте - в разделе «Статьи» на mirsofta.ru.