Что означает код NTSTATUS 0x40000023 (STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE)?

 
Предыдущий Следующий
STATUS_WX86_EXCEPTION_CHAIN STATUS_NO_YIELD_PERFORMED

STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE

Что означает STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE

STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE относится именно к главному executable: его PE machine type не соответствует архитектуре, которую текущая система или выбранный launch context способен выполнить. Это отличается от несовместимой DLL, обнаруженной уже во время загрузки зависимостей.

Что проверить

  • Считайте Machine из PE header и сравните его с архитектурой ОС и процесса-лаунчера.
  • Проверьте, выбран ли правильный x86/x64/ARM64 вариант пакета и доступен ли требуемый emulation layer.
  • Если запуск идёт через service, installer или bootstrapper, зафиксируйте фактический путь EXE, а не только ожидаемое имя продукта.

Как исправить

Запускайте бинарный вариант, собранный для поддерживаемой архитектуры. Ручное изменение поля Machine в PE header не преобразует инструкции, relocations и imports и лишь создаёт повреждённый образ.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.