При запуске некоторых программ и игр пользователи могут столкнуться со сбоем «Ошибка приложения. Ошибка при запуске приложения 0xc000007b», при этом повторные попытки запуска как правило не решают проблему.
В этой инструкции подробно о возможных причинах и способах исправить ошибку 0xc000007b в Windows 11, Windows 10 и предыдущих версиях системы.
Основные причины ошибки и базовые решения
Среди основных причин ошибки при запуске приложения с кодом 0xc000007b (код соответствует ошибке INVALID_IMAGE_FORMAT) можно выделить следующие:
- Конфликты между 32-бит и 64-бит версиями файлов приложения и системных библиотек. Например: программа или игра требовала какую-то DLL, вы скачали эту библиотеку со стороннего сайта, но не в той разрядности, которая требуется приложению.
- Повреждение или замена системных файлов Windows
- Повреждение файлов запускаемого приложения.
- Влияние антивируса (обычно — стороннего) на запуск приложения.
- В некоторых случаях проблема может быть вызвана отсутствием необходимых прав у запускаемой программы для доступа к необходимым для запуска файлам.
Из этих пунктов следуют основные простые способы исправить ошибку:
- Попробуйте запустить программу или игру от имени администратора: нажмите по ярлыку или исполняемому файлу программы правой кнопкой мыши и выберите пункт «Запуск от имени администратора» в контекстном меню. Если при этом всё работает исправно, вы можете открыть свойства ярлыка или исполняемого файла и установить отметку «Запускать эту программу от имени администратора» на вкладке «Совместимость». Для ярлыка запуск от имени администратора также можно включить на вкладке «Ярлык», нажав кнопку «Дополнительно».
- Если программа представлена в нескольких версиях, установите или используйте исполняемый файл той, которая подходит для архитектуры вашей системы: x64 для 64-бит систем, x86 — для 32-бит систем.
- Выполните проверку и восстановление системных файлов Windows: запустите командную строку от имени администратора, по порядку выполните следующие две команды:
dism /online /cleanup-image /restore-health sfc /scannow
после чего закройте окно командной строки и перезагрузите компьютер.
- Если программа или игра ранее работала, а теперь перестала, попробуйте переустановить её. В случае, если речь идёт об игре Steam, используйте опцию проверки целостности файлов игры в клиенте в параметрах соответствующей игры. Если речь идёт о не слишком лицензионной версии ПО, можно попробовать выполнить его загрузку и установку из другого источника, предварительно удалив текущую версию.
- Если перед появлением проблемы вы предпринимали действия по загрузке файлов DLL в системные папки Windows или папку запускаемого приложения, удалите скачанные вами вручную файлы и установите соответствующие DLL правильно, в составе содержащих их компонентов, чаще всего речь идёт о Microsoft Visual C++ Redistributable, причём для 64-разрядных систем обычно требуется установка и x64 и x86 версий компонентов. Если вы не знаете о чём речь, поищите имя конкретной DLL в поиске по этому сайту, скорее всего подробная инструкция по нужным действиям найдётся, здесь нужно учитывать, что не всегда требуются только последние версии компонентов — они не заменяют собой более ранние.
- При наличии стороннего антивируса на компьютере, проверьте, решает ли проблему его временное отключение. Если это помогло, добавьте папку с соответствующей программой в исключения антивируса, при условии, что вы доверяете её источнику.
Во многих случаях один из предложенных способов помогает решить проблему, однако иногда может потребоваться прибегнуть к дополнительным методам решения.
Анализ зависимостей приложения
С учётом того, что чаще всего рассматриваемый сбой происходит в ситуации, когда 32-бит приложение «пробует» выполнить запуск, загрузив 64-бит библиотеки DLL или наоборот можно попробовать разобраться с ситуацией вручную, изучив зависимости исполняемого файла с помощью Depency Walker или, что будет удобнее — Depencies в GUI-варианте: загрузите и распакуйте приложение, запустите DepenciesGui и откройте исполняемый файл приложения, сообщающего об ошибке 0xc000007b.
Например, на скриншоте ниже мы видим, что 32-бит приложение использует «правильные» библиотеки из папки SysWOW64 (где в x64-версиях систем находятся 32-бит версии DLL), а в нижней части окна в столбце «Machine» отображается i386 (что соответствует 32-бит библиотеке, для 64-бит будет указано AMD64), ошибок при запуске приложения быть не должно.
Если в вашем случае вы отмечаете несоответствия: обычно — сообщение об отсутствии нужной DLL в Depencies, как на следующем скриншоте (хотя по факту она есть в папке, просто имеет не ту разрядность) или, например, какие-то из загружаемых библиотек из папки SysWOW64 имеют архитектуру AMD64 или DLL из папки System32 — архитектуру i386, следует предпринять действия для их устранения.
При этом фигурировать могут не только системные папки Windows, но и собственные папки программы — логика будет той же самой.
Дополнительные способы исправить ошибку
Если предложенные выше методы не помогли, ниже — некоторые дополнительные варианты, которые могут сработать при ошибке 0xc000007b:
- Если ранее программа исправно запускалась, попробуйте использовать точки восстановления системы: нажмите клавиши Win+R на клавиатуре, введите rstrui и нажмите Enter, выберите точку восстановления на дату, когда ошибка при запуске не наблюдалась и запустите процесс восстановления.
- Ошибка может быть вызвана повреждением компонентов Visual C++ требуемой для запуска игры или программы версии. Для версий начиная с 2013 есть возможность исправления установки (Win+R — appwiz.cpl — выбор компонента — кнопка «Изменить», затем — «Исправить»). Для более ранних потребуется удаление и повторная установка. О том, как скачать эти компоненты — в отдельной инструкции. Один из самых простых вариантов — использовать Visual С++ All In One Runtimes для автоматической установки всех доступных версий компонентов.
- Попробуйте установить недостающие библиотеки DirectX с помощью веб-установщика с сайта Майкрософт , а также вручную скачать и установить последние версии драйверов видеокарты с сайтов NVIDIA или AMD, используя опцию чистой установки. При наличии дискретного и интегрированного видеоадаптеров, установите драйверы как для того, так и для другого.
- Проверьте, появляется ли ошибка, если запустить приложение в режиме совместимости с одной из предыдущих версий Windows: параметры совместимости можно выбрать в свойствах исполняемого файла или ярлыка на соответствующей вкладке.
- Для некоторых программ при ошибке 0xc000007b может помочь включение (или переустановка) компонентов .NET Framework — нажмите клавиши Win+R на клавиатуре, введите appwiz.cpl, выберите пункт «Включение или отключение компонентов Windows» слева, убедитесь, что компоненты .NET Framework 3.5 и 4.8 (или более новой версии) включены, если это не так, отметьте их и нажмите «Ок». Также вы можете скачать установщики этих компонентов с сайта Майкрософт.
Если «Ошибка при запуске приложения 0xc000007b» сохраняется, опишите в комментариях все детали и обстоятельства её появления, постараемся найти подходящее решение.