Полезные советы

Ошибка при запуске приложения 0xc0150002 или 0xc0150004 — варианты решения

Ошибка при запуске приложения 0xc0150002 или 0xc0150004 — варианты решения

При запуске некоторых программ и игр в Windows 11/10 пользователи могут столкнуться с сообщением об ошибке приложения «Ошибка при запуске приложения (0xc0150002)», иногда с отличающимся кодом — 0xc0150004, но в обоих случаях источник проблемы один и тот же.

В этой инструкции подробно о способах исправить ошибку, выяснить её конкретные причины и дополнительная информация на тему, которая может быть полезной. Примечание: ещё одно сообщение об ошибке с аналогичными причинами — Не удалось запустить приложение, поскольку его параллельная конфигурация неправильна.

Причины ошибки и способы её исправить

Ошибка при запуске приложения 0xc0150002 или 0xc0150004 — варианты решения

Ошибки при запуске приложения с кодами 0xc0150002 и 0xc0150004 обычно возникают в случае, если для какой-то из библиотек DLL запускаемого приложения не удаётся выполнить зависимости:

  1. Вы запускаете исполняемый файл .exe
  2. Он, в свою очередь, загружает какие-то DLL — собственные или системные
  3. В загружаемой DLL присутствует зависимость от каких-то дополнительных компонентов, которые найти не удаётся: они отсутствуют, повреждены, имеют версию, отличную от требуемой

Самая частая причина у большинства пользователей — компоненты Visual C++ Redistributable: отсутствие необходимых версий (а они не взаимозаменяемы), повреждение или другие факторы, связанные с DLL этих компонентов.

Самый быстрый и не затратный по времени, но не гарантированный (в случае, если проблема заключается не в компонентах VC++) способ исправить ошибку:

  1. Не является обязательным, но можно сделать, если вы предполагаете возможность повреждения уже установленных компонентов: нажмите клавиши Win+R на клавиатуре, введите appwiz.cpl и нажмите Enter. Удалите имеющиеся компоненты Microsoft Visual C++ Redistributable.

    Ошибка при запуске приложения 0xc0150002 или 0xc0150004 — варианты решения

  2. Скачайте полный набор библиотек распространяемых компонентов Visual С++ Redistributable со страницы GitHub (используйте вариант, включающий в себя x86 и x64), установите его.
  3. Запустите командную строку от имени администратора и выполните команду
    sfc /scannow
  4. Попробуйте повторно запустить приложение, которое сообщало об ошибке.

Приведённый ваше подход решает проблему для большинства случаев рассматриваемой ошибки, однако причина не всегда оказывается в библиотеках Visual C++ Redistributable. Вы можете попробовать определить, что именно вызвало сбой следующими способами:

  1. Открыть «Просмотр событий» Windows (правый клик по кнопке «Пуск» и выбор соответствующего пункта меню), перейти в раздел «Журналы Windows» — «Приложение» и посмотреть описание ошибок от источника SideBySide, в них может быть указано четкое указание на то, какие зависимости не были выполнены: если их описание вам не ясно, вы можете использовать поиск в Интернете, например, Microsoft.VC90.CRT amd64 на скриншоте ниже чётко укажет на VC++ Redistributable 2008 x64:

    Ошибка при запуске приложения 0xc0150002 или 0xc0150004 — варианты решения

  2. Запустить командную строку от имени администратора, ввести команду
    sxstrace trace -logfile:trace.etl

    и нажать Enter, после чего запустить приложение, сообщающее об ошибке, закрыть окно с сообщение об ошибке, вернуться в окно командной строки и нажать Enter, ввести команду

    sxstrace parse -logfile:trace.etl -outfile:C:trace.txt

    В результате вы получите текстовый файл trace.txt в корне диска C, в котором будет подробный пошаговый отчёт о том, как именно происходила загрузка приложения, на каком этапе возникла ошибка 0xc0150002 или 0xc0150004. Файл может быть сложен для ручного анализа обычным пользователем, но, если «скормить» его любой современной нейросети, она сравнительно легко укажет, где именно возникла проблема, так как все данные для этого будут присутствовать.

    Ошибка при запуске приложения 0xc0150002 или 0xc0150004 — варианты решения

Читайте также:  Программы для анализа дампов памяти Windows

При возможности использовать второй вариант рекомендую прибегнуть именно к нему как одному из самых эффективных.

Дополнительные варианты

Некоторые дополнительные варианты «общего характера», которые могут быть полезны при решении проблемы:

  • Если речь идёт о какой-то не вполне лицензионной программе, проверьте журналы вашего антивируса, в том числе и встроенного Microsoft Defender: есть вероятность, что какая-то из библиотек самой программы или игры была удалена. Решение — восстановление (если возможно), добавление папки с программой в исключения, переустановка.
  • Попробуйте использовать другой (лучше — официальный) источник запускаемой программы.
  • Очень старые программы, включающие старые проприетарные DLL также могут «падать» с рассматриваемой ошибкой. Иногда может сработать запуск в режиме совместимости, но чаще — нет.
  • Излишняя оптимизация, использование «сборок» также могут приводить к рассматриваемой ошибке вследствие удаления «ненужных» версий системных библиотек DLL
  • В редких случаях может сработать добавление нужных библиотек (если их удалось определить) в папку с игрой, рядом с исполняемым файлом.
  • Старые версии программ, создающих оверлеи, антивирусы и античиты, иногда — трояны и майнеры, добавляющие свои библиотеки в AppInit_DLLs также могут приводить к сбоям 0xc0150002/0xc0150004. Это можно будет увидеть в логах sxstrace, как рассматривалось выше. Второй вариант — изучить содержимое параметра в разделах реестра
    HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionWindows HKEY_LOCAL_MACHINESoftwareWow6432NodeMicrosoftWindows NTCurrentVersionWindows

Надеюсь, информация помогла разобраться с ошибкой и исправить её. Буду благодарен, если в комментариях ниже вы сможете поделиться информацией о том, что сработало в вашем случае. Если же остаются вопросы — их можно задать там же.

Источник

Вам также может понравиться...

Добавить комментарий