оброго дня всем!
В этой заметке приведу несколько советов, которые в большинстве случаев помогают избавиться от этой ошибки. Рекомендую выполнять их в порядке, приведенным мной ниже. Материал актуален для современных ОС Windows 8/10/11.
: ниже на скрине приведен пример подобной ошибки (возникла при запуске игры PES 2016).
Пример ошибки 0xc0000022
Как можно исправить 0xc0000022
Запуск от имени администратора
Первое, что посоветую сделать — это кликнуть правой кнопкой мышки по исполняемому файлу (ярлыку) и в появившемся контекстном меню выбрать вариант запуска от имени администратора.
Запуск приложения от имени администратора
Если приложение запустилось — просто зайдите в свойства ярлыка и поставьте галочку, чтобы задача всегда выполнялась от администратора.
Если у вас ОС Windows 10/11 – то проверьте обязательно состояние защитника (нередко он “молча” удаляет некоторые файлы игр и программ, которые ему показались подозрительными).
Для этого откройте параметры (Win+i), перейдите во вкладку “Обновление и безопасность / Безопасность Windows”, и нажмите по ссылке на центр безопасности защитника. См. скриншот ниже. 👇
Центр безопасности Windows
Если таковые будут найдены, у вас есть два пути:
Обновление системных библиотек, драйверов
Ошибка 0xc0000022 также может возникнуть из-за отсутствия файлов каких-нибудь библиотек: DirectX, Visual C++, NET Framework и т.д.
Обновление системных библиотек / Driver Booster
Режим совместимости и DirectPlay
Если вы пытаетесь запустить старую игру на новом компьютере (ОС Windows) — то не исключено появление разного рода ошибок. Попробуйте зайти в исполняемого файла (ярлыка на рабочем столе), и включить режим совместимости приложения со старой ОС (например с Windows 7 как в моем примере ниже).
Как запустить старую игру на новом компьютере — https://ocomp.info/kak-zapustit-staruyu-igru.html
Чтобы включить его: зайдите в панель управления, в раздел “Программы / Включение или отключение компонентов Windows”.
Включение и отключение компонентов Windows
Компоненты прежних версий – DirectPlay
Отключите на время антивирус
Отключение антивируса Avast на 1 час
Попытка диагностики с помощью ProcessMonitor
1) Перед запуском утилиты, я вам рекомендую открыть свойства ярлыка (запускаемой программы) и скопировать оригинальное название exe-файла. Пример на скрине ниже.
Копируем название исполняемого файла
2) Далее нужно запустить утилиту, и сразу же открыть нужную программу/игру. Как только она вылетит с ошибкой, перейдите в ProcessMonitor и:
Фильтр по имени
Далее рекомендую еще раз открыть фильтрацию и исключить все успешные (SUCCESS) строки. Пример ниже.
Исключаем все успешные действия
В результате у вас останутся только проблемные строки (в каждом конкретном случае их количество может сильно разница). В моем, например, исходя из первых строк стало понятно, что есть какая-то проблема с файлом “steam_api.dll” в папке с игрой. В последствии оказалось, кстати, что его удалил защитник Windows (после восстановления – игра заработала!).
Кстати, также достаточно часто встречается случай отсутствия прав на доступ к определенным DLL файлам. Например, если ProcessMonitor покажет вам ошибку ACCESS DENIED (скажем, к C:WindowsSyswow64MSVBVM50. DLL) – то нужно вручную разрешить чтение данного файла для текущего пользователя.
Делается это просто: сначала находите нужный файл (адрес также показывается в ProcessMonitor, см. скрин выше). Далее открываете его , переходите во вкладку и жмете .
Безопасность — изменить
После добавляете нового пользователя (см. скриншот ниже).
Две галочки для возможности чтения файла, обычно, стоят по умолчанию – поэтому останется только сохранить настройки.
Если у вас получилось избавиться от этой ошибки как-то по-другому — сообщите в 2-х словах в комментариях.
Первая публикация: 04.07.2019