Что делать, если при запуске программы возникает ошибка 0xc0000020

Хотя эту ошибку, характерную для Windows 10, нельзя назвать распространённой, но если она появилась, то будет досаждать каждый раз, когда вы запускаете определённый класс программ или компьютерную игру. В заголовке ошибочного сообщения содержится фраза Bad Image, но в данном случае её перевод как «плохая картинка» неверен – здесь под словом Image подразумевается исполняемый файл или важная компонента операционной системы. Нижеследующий пояснительный текст также нельзя назвать слишком информативным, а его первая часть («Программа не предназначена для запуска в Windows») даже может ввести в заблуждение и обычно трактуется неправильно.

Попробуем разобраться, что же на самом деле приводит к появлению ошибки и можно ли её исправить.

Причины появления ошибки

Впрочем, в большинстве случаев определённая конкретика в тексте сообщения об ошибке 0xc0000020 всё же имеется. Речь идёт о таком распространённом случае, как повреждение одной из библиотек DLL или использование её неправильной версии, и тогда в тексте сообщения обычно указывается имя этой библиотеки, что существенно упрощает диагностирование.

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

В случаях, когда имя файла DLL начинается с набора символов msvcp или msvcr, а также если указан модуль ucrtbase.dll, то, скорее всего, повреждения касаются Visual C++ Redistributable, а вернее – библиотеки её компонентов.

Когда указанный в ошибочном сообщении файл расположен в системном каталоге DriverStore, то очевидно, что проблема возникает из-за неправильно работающего или повреждённого драйвера конкретного устройства. В этом случае тоже не составит труда по имени DLL-файла выяснить, какой именно драйвер вызывает сбой и попробовать переустановить его, желательно предварительно удалив старую версию и скачав новую с официального источника. Обычно такое случается с драйвером видеокарты, а если ошибка появляется при запуске игры, то об этом можно говорить почти со стопроцентной уверенностью.

Общий алгоритм действий следующий:

  • с помощью интернета ищем, частью какой компоненты Windows является модуль DLL, фигурирующий в тексте ошибки 0xc0000020;
  • переустанавливаем эту компоненту (программу, драйвер, библиотеку) и проверяем, исчезла ли проблема.

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

Тогда алгоритм действий будет следующим: приложение, вызвавшее ошибку, удаляется, антивирус отключается. Затем программа инсталлируется снова и запускается без антивируса. Если всё нормально, нужно просто добавить это приложение (или папку, в которой оно установлено) в исключения антивируса. Если ошибка всё равно появляется, очевидно, что её причиной является сама программа, содержащая ошибки.

Как исправить в Windows 10 ошибку 0xc0000020

Рассмотрим основные способы решения проблемы.

Проверка системных файлов

Первое, что необходимо сделать при возникновении подобных ошибок, – проверить целостность системных файлов, благо, что для этого в Windows имеется специальная утилита, умеющая не только проверять, но и исправлять найденные ошибки. Запускать её нужно из командной строки. Сначала в окне терминала набираем sfc /scannow, а после нажатия Enter – строку DISM /ONLINE /CLEANUP-IMAGE /RESTOREHEALTH.

Переустановка Visual C++ Redistributable

Напоминаем, этот пакет можно считать виновником, если в ошибочном сообщении присутствуют имена msvcr или msvcp. На вашем компьютере этот пакет может просто отсутствовать, или он установлен с ошибками, или же была инсталлирована версия не той разрядности.

К примеру, если в ошибке присутствует имя файла msvcr110.dll, то через поиск можно выяснить, что он является компонентой пакета Visual C++ Redistributable 2012, который и потребуется установить или переустановить.

Но для начала необходимо просмотреть, какая версия Visual C++ установлена у вас. Для этого нужно зайти в утилиту «Удаление программ», через панель управления или посредством нажатия комбинации Win+R и ввода команды appwiz.cpl.

Убедитесь, что в системе присутствуют версии обеих разрядностей, 32- и 64-битные. Выделите пакет Visual C++ Redistributable мышкой, после чего кликните по кнопке «Изменить» в верхней панели. В новом окошке необходимо нажать кнопку Repair, после чего система попытается восстановить пакет, устранив при этом ошибки установщика.

Желательно проделать эту операцию со всеми вариантами Visual C++, присутствующими в списке.

СОВЕТ. Если в ошибке указывается другая компонента Windows, например, Office, то нужно попытаться переустановить повторным запуском установщика.

Когда в списке установленный пакет файлов Visual C++ Redistributable конкретной разрядности отсутствует, необходимо его скачать с официального сайта и инсталлировать. Конкретный год пакета С++ имеется возможность определить непосредственно по имени фигурирующего в сообщении файла, скачивать нужно только компоненты, соответствующие этому году, причём устанавливать нужно и 32-битную (x86) версию – в некоторых случаях 64-разрядная Windows 10 использует 32-битные библиотеки С++. Так, довольно востребованная игровая платформа Origin, пользующаяся популярностью у геймеров, часто ссылается на обе библиотеки, и если пакет меньшей разрядности отсутствует, появится ошибка с кодом 0xc0000020.

Драйвер видеокарты

О том, что ошибка исполнения 0xc0000020 связана с некорректно работающими драйверами видеокарты, будет свидетельствовать наличие в сообщении имён файлов библиотек atiglpxx или atiuxpag. Стандартный способ решения проблемы – удаление присутствующего в системе видеодрайвера и его повторная инсталляция. Здесь важно знать, какой именно графический адаптер у вас установлен, это можно узнать в «Панели управления». Скачивать драйвера необходимо только с официального сайта, желательно версию предпоследней свежести (последняя может содержать невыявленные баги).

Очистка ненужных файлов

Ошибка 0xc0000020 может появляться и в результате засорения ОС файлами, оставшимися после удаления ненужных программ или игр. Чтобы избавиться от них, нажмите Win+R и в появившейся консоли введите команду cleanmgr, производящую очистку диска.

.NET Framework

Ещё одной важной компонентой Windows, становящейся причиной возникновения различных проблем, включая и нашу ошибку, является пакет .NET Framework. Порядок действий здесь стандартный: удаляем все установленные компоненты, скачиваем дистрибутив с сайта Microsoft и выполняем повторную установку.

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

Источник

Понравилась статья? Поделиться с друзьями: