Ошибка 0x8007007E в Windows 11 и 10 — решение
При обновлении Windows 11/10, запуске программ и игр или в процессе их работы, иногда — при использовании системных утилит, пользователи могут столкнуться с сообщением об ошибке с кодом 0x8007007E. Описания могут разниться, но чаще всего есть указание вида «Не найден указанный модуль».
В этой инструкции подробно о том, что именно вызывает такую ошибку и способы её исправить, если вы с ней столкнулись.
При обновлении

Если ошибка 0x8007007E при установке обновлений Windows 11/10, обычно это говорит об одном из:
- Повреждение системных файлов ОС
- Повреждение самих компонентов обновлений
Обращаясь к какому-то из файлов (обычно — библиотека DLL), необходимых для продолжения установки обновления система не «видит» его или файл повреждён, результат — рассматриваемая ошибка.
Подход к решению простой — восстановление системных файлов Windows, очистка кэша обновлений и повторная установка. Шаги будут следующими:
- Запустите командную строку от имени Администратора.
- По порядку выполните команды (первая может «зависать» в процессе, дождитесь выполнения):
dism /online /cleanup-image /restorehealth sfc /scannow
- По порядку выполните команды:
- Обязательно перезагрузите компьютер и попробуйте выполнить установку обновления снова.
Если это не помогло, вы можете:
- Выполнить полный сброс компонентов Центра обновлений.
- Попробовать вручную найти обновление по его KB-номеру, скачать и установить его из официального каталога обновлений Майкрософт.
Примечание: всё это актуально для оригинальных систем, где обновления изначально работали исправно, в некоторых случаях причина может заключаться в излишне «оптимизированных сборках», которые могли работать исправно ранее, но когда для очередного обновления потребовался вырезанный компонент, оно не смогло установиться.
При запуске или работе программ и игр

Второй вариант — появление сообщения об ошибке с HRESULT 0x8007007E «Не найден указанный модуль» (конкретный текст сообщения об ошибке может отличаться) при запуске определённых программ или доступе к конкретным функциям в них.
Причина — та же, что и в предыдущем случае: программа пробует загрузить какую-то DLL, но ней это не удаётся.
Отличие от более привычного сообщения «Не удается продолжить выполнение кода, поскольку система не обнаружила имя.DLL» вызвано тем, что в случае ошибки 0x8007007E запуск исполняемого файла был выполнен успешно, но, когда (уже после запуска) он обратился к нужному файлу, найти его не удалось. В «стандартном» же сообщении не удалось выполнить запуск самого исполняемого файла из-за отсутствия DLL.
Если вы сталкиваетесь с ошибкой при работе с каким-то системным инструментом Windows 11/10: его запуске или использовании определённой функции, начать следует с тех же действий, что и для ошибки обновления:
- Запустить командную строку от имени администратора и по порядку выполнить команды
dism /online /cleanup-image /restorehealth sfc /scannow
- Если это не помогло, а проблема возникла недавно, могут помочь точки восстановления системы на дату, когда всё работало исправно.
В случае сторонних игр и программ, простыми решениями будут следующие:
- Если это «не совсем лицензионный» софт, проверьте журнал и карантин вашего антивируса: возможно, нужная DLL была удалена. Решение — её восстановление, возможно — добавление папки с программой в исключения антивируса, если восстановление невозможно, может потребоваться переустановка программы.
- Часто ошибка «упирается» в отсутствие нужных версий компонентов Visual C++ Redistributable. Их можно установить сразу все с помощью установщика AIO с этой страницы GitHub — для x64 системы выберите вариант установщика, содержащий x86 и x64 версии компонентов.
Эти два шага помогают в большинстве случаев, но не всегда: они направлены на наиболее вероятных «виновников», но не всегда причина именно в них.
Определение недостающего модуля
Если приведённые выше шаги не сработали, и программа всё так же сообщает об ошибке, вы можете выяснить, какой (или каких) именно DLL не хватает, достаточно выполнить следующие шаги:
- Скачайте Process Monitor с официального сайта Майкрософт, распакуйте архив в удобное расположение и запустите подходящую версию (обычно — x64) от имени администратора.
- Нажмите по кнопке фильтра в панели инструментов и укажите фильтр: Process Name is имя_исполняемого_файла then Include, нажмите, «Add», затем — «Ok» и подтвердите действие.

- Запустите программу и сделайте так, чтобы появилось сообщение об ошибке 0x8007007E (если это требует каких-то конкретных действий, а не простого запуска).
- Изучите события в Process Monitor. Вас будут интересовать пункты, где в столбце Path указан путь к DLL (программа ищет нужный файл DLL в различных стандартных расположениях), а в Result — Name Not Found (имя не найдено).

- По имени DLL (если оно ни о чём не говорит, выполните поиск в Интернете) вы сможете определить, чего именно не хватает: какого-то системного компонента, библиотеки самой программы или чего-то ещё и постараться разобраться с этой конкретной DLL.
Надеюсь, инструкция помогла разобраться и решить проблему. Если же нет, опишите ситуацию в комментариях ниже, я постараюсь помочь.


Мимо
Я просто обновление удалил и прошло.
Ставлю пакет — опять появляется. Отключил обновления пока не пофиксят.
Ответить