Виртуальные миры    

Ошибка 0xc0000022 при запуске игр, программ [решение]


Доброго дня всем!

Эта ошибка характерна для игр (хотя иногда "страдают" и др. программы), и появляется она обычно в момент запуска. Заранее предупрежу, что этот код 0xc0000022 мало о чем говорит: причиной может быть как отсутствующий файл, так и блокировка приложения антивирусом...

В этой заметке приведу несколько советов, которые в большинстве случаев помогают избавиться от этой ошибки. Рекомендую выполнять их в порядке, приведенным мной ниже. Материал актуален для современных ОС Windows 8/10.

 

Примечание: ниже на скрине приведен пример подобной ошибки (возникла при запуске игры PES 2020).

 

Пример ошибки 0xc0000022

 

*

Как можно исправить 0xc0000022

Запуск от имени администратора

Первое, что посоветую сделать — это кликнуть правой кнопкой мышки по исполняемому файлу (ярлыку) и в появившемся контекстном меню выбрать вариант запуска от имени администратора.

Запуск приложения от имени администратора

Если приложение запустилось — просто зайдите в свойства ярлыка и поставьте галочку, чтобы задача всегда выполнялась от администратора.

 

Проверка защитника

Если у вас ОС Windows 10 - то проверьте обязательно состояние защитника (нередко он "молча" удаляет некоторые файлы игр и программ, которые ему показались подозрительными).

Для этого откройте параметры (Win+i), перейдите во вкладку "Обновление и безопасность / Безопасность Windows", и нажмите по ссылке на центр безопасности защитника. См. скриншот ниже.

Центр безопасности Windows

Далее откройте журнал угроз и просмотрите последние события: нет ли среди списка очистки файлов игры...

Проверка журнала

Если таковые будут найдены, у вас есть два пути:

  • восстановить файл из карантина защитника и попробовать запустить игру (программу). Это следует делать, если вы не сомневаетесь в безопасности файла;
  • загрузить другую версию программы/игры и переустановить ее (перепроверенную на вирусы и вредоносное ПО).

 

Обновление системных библиотек, драйверов

Ошибка 0xc0000022 также может возникнуть из-за отсутствия файлов каких-нибудь библиотек: DirectX, Visual C++, NET Framework и т.д.

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

Обновление системных библиотек / Driver Booster

 

Режим совместимости и DirectPlay

Если вы пытаетесь запустить старую игру на новом компьютере (ОС Windows) — то не исключено появление разного рода ошибок. Попробуйте зайти в свойства исполняемого файла (ярлыка на рабочем столе), и включить режим совместимости приложения со старой ОС (например с Windows 7 как в моем примере ниже).

Режим совместимости

В помощь!

Как запустить старую игру на новом компьютере — https:///kak-zapustit-staruyu-igru.html

 

Кроме этого, многим старым играм (например, Majesty, Thief, Dune 2000 и пр.) нужен компонент DirectPlay, который почему-то в современных ОС отключен...

Чтобы включить его: зайдите в панель управления, в раздел "Программы / Включение или отключение компонентов Windows".

Включение и отключение компонентов Windows

Далее найдите каталог "Компоненты прежних версий" и включите DirectPlay. Windows должна автоматически загрузить и установить его. После перезагрузите компьютер и проверьте работоспособность программы/игры...

Компоненты прежних версий - DirectPlay

 

Отключите на время антивирус

Не лишним будет на время диагностики и поиска причин появления ошибки - отключить антивирус. Благо, что почти все современные продукты отключаются в 1-2 клика мышкой через трей. Как это выглядит у AVAST представлено на скрине ниже...

Отключение антивируса Avast на 1 час

 

Попытка диагностики с помощью ProcessMonitor

Если все предыдущее не помогло, можно попробовать отыскать причину с помощью утилиты ProcessMonitor (ссылка на сайт Microsoft). Она инспектирует все приложения и процессы, запускаемые на ПК (причем, даже если у вас программа вылетела с ошибкой — этот факт можно найти в ProcessMonitor и посмотреть что там произошло...).

1) Перед запуском утилиты, я вам рекомендую открыть свойства ярлыка (запускаемой программы) и скопировать оригинальное название exe-файла. Пример на скрине ниже.

Копируем название исполняемого файла

 

2) Далее нужно запустить утилиту, и сразу же открыть нужную программу/игру. Как только она вылетит с ошибкой, перейдите в ProcessMonitor и:

  1. включите отображение всех событий (см. стрелку-1 на скрине ниже);
  2. перейдите в режим фильтрации (стрелка-2);
  3. переключите фильтрацию в режим Process Name (т.е. чтобы можно было указать тот процесс, который нам нужен - т.к. их в утилите будет очень много);
  4. вставьте оригинальное название файла игры;
  5. нажмите OK.

Фильтр по имени

Далее рекомендую еще раз открыть фильтрацию и исключить все успешные (SUCCESS) строки. Пример ниже.

Исключаем все успешные действия

В результате у вас останутся только проблемные строки (в каждом конкретном случае их количество может сильно разница). В моем, например, исходя из первых строк стало понятно, что есть какая-то проблема с файлом "steam_api.dll" в папке с игрой. В последствии оказалось, кстати, что его удалил защитник Windows (после восстановления - игра заработала!) ...

Нашлись несколько строк, в одной из которых нет файла...

 

Кстати, также достаточно часто встречается случай отсутствия прав на доступ к определенным DLL файлам. Например, если ProcessMonitor покажет вам ошибку ACCESS DENIED (скажем, к C:\Windows\Syswow64\MSVBVM50.DLL) - то нужно вручную разрешить чтение данного файла для текущего пользователя.

ACCESS DENIED

Делается это просто: сначала находите нужный файл (адрес также показывается в ProcessMonitor, см. скрин выше). Далее открываете его свойства, переходите во вкладку "Безопасность" и жмете "Изменить".

Безопасность — изменить

После добавляете нового пользователя (см. скриншот ниже).

Добавляем пользователя

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

Сохранить настройки

 

PS 

Если из вышеперечисленного ничего не помогло - можно посоветовать загрузить другую версию игры/приложения. Возможно, что текущая просто несовместима с вашей версией ОС, ПО (а возможно, что она просто была повреждена, например, вирусами...).

*

Если у вас получилось избавиться от этой ошибки как-то по-другому — сообщите в 2-х словах в комментариях.

Удачи!

👀



Отзывы (через Facebook):

Оставить отзыв с помощью аккаунта FaceBook:


Warning: scandir(/home/users/9/9161484547/domains/gurboy.ru/gamefactory): failed to open dir: Нет такого файла или каталога in /home/users/9/9161484547/domains/gurboy.ru/index-add.php on line 18

Warning: scandir(): (errno 2): Нет такого файла или каталога in /home/users/9/9161484547/domains/gurboy.ru/index-add.php on line 18

Warning: array_search() expects parameter 2 to be array, boolean given in /home/users/9/9161484547/domains/gurboy.ru/index-add.php on line 37

Warning: shuffle() expects parameter 1 to be array, boolean given in /home/users/9/9161484547/domains/gurboy.ru/index-add.php on line 42

Warning: Invalid argument supplied for foreach() in /home/users/9/9161484547/domains/gurboy.ru/index-add.php on line 51

Еще:
Виртуальные миры -1 ::

Опросы показывают, что средний возраст европейских и американских пользователей MMORPG – 30 лет, а несовершеннолетних среди них не более четверти. Только небольшая часть пользователей занимаются ролевым отыгрышем, как правило, используя для этого специализированные «ролевые» серверы. Подавляющее большинство популярных видов развлечений в MMORPG не отвечает четырем и более признакам игровой деятельности из шести возможных в формулировке Роже Кайуа.