Доброго дня всем!
Эта ошибка характерна для игр (хотя иногда ‘страдают’ и др. программы), и появляется она обычно в момент запуска. Заранее предупрежу, что этот код 0xc0000022 мало о чем говорит: причиной может быть как отсутствующий файл, так и блокировка приложения антивирусом…
В этой заметке приведу несколько советов, которые в большинстве случаев помогают избавиться от этой ошибки. Рекомендую выполнять их в порядке, приведенным мной ниже. Материал актуален для современных ОС Windows 8/10.
Примечание: ниже на скрине приведен пример подобной ошибки (возникла при запуске игры PES 2016).
Как можно исправить 0xc0000022
Первое, что посоветую сделать — это кликнуть правой кнопкой мышки по исполняемому файлу (ярлыку) и в появившемся контекстном меню выбрать вариант запуска от имени администратора.
Если приложение запустилось — просто зайдите в свойства ярлыка и поставьте галочку, чтобы задача всегда выполнялась от администратора.
Если у вас ОС Windows 10 — то проверьте обязательно состояние защитника (нередко он ‘молча’ удаляет некоторые файлы игр и программ, которые ему показались подозрительными).
Для этого откройте параметры (Win+i), перейдите во вкладку ‘Обновление и безопасность / Безопасность Windows’, и нажмите по ссылке на центр безопасности защитника. См. скриншот ниже.
Далее откройте журнал угроз и просмотрите последние события: нет ли среди списка очистки файлов игры…
Если таковые будут найдены, у вас есть два пути:
- восстановить файл из карантина защитника и попробовать запустить игру (программу). Это следует делать, если вы не сомневаетесь в безопасности файла,
- загрузить другую версию программы/игры и переустановить ее (перепроверенную на вирусы и вредоносное ПО).
Ошибка 0xc0000022 также может возникнуть из-за отсутствия файлов каких-нибудь библиотек: DirectX, Visual C++, NET Framework и т.д.
Чтобы все это не перепроверять вручную, рекомендую попробовать утилиту Driver Booster: она не только может обновить драйвера, но и проверит все библиотеки, влияющие на работу игр (что очень удобно). Бесплатной версии для решения этой задача вполне достаточно…
Если вы пытаетесь запустить старую игру на новом компьютере (ОС Windows) — то не исключено появление разного рода ошибок. Попробуйте зайти в свойства исполняемого файла (ярлыка на рабочем столе), и включить режим совместимости приложения со старой ОС (например с Windows 7 как в моем примере ниже).
В помощь!
Как запустить старую игру на новом компьютере — https://avege.ru/kak-zapustit-staruyu-igru.html
Кроме этого, многим старым играм (например, Majesty, Thief, Dune 2000 и пр.) нужен компонент DirectPlay, который почему-то в современных ОС отключен…
Чтобы включить его: зайдите в панель управления, в раздел ‘Программы / Включение или отключение компонентов Windows’.
Далее найдите каталог ‘Компоненты прежних версий’ и включите DirectPlay. Windows должна автоматически загрузить и установить его. После перезагрузите компьютер и проверьте работоспособность программы/игры…
Не лишним будет на время диагностики и поиска причин появления ошибки — отключить антивирус. Благо, что почти все современные продукты отключаются в 1-2 клика мышкой через трей. Как это выглядит у AVAST представлено на скрине ниже…
Если все предыдущее не помогло, можно попробовать отыскать причину с помощью утилиты ProcessMonitor (ссылка на сайт Microsoft). Она инспектирует все приложения и процессы, запускаемые на ПК (причем, даже если у вас программа вылетела с ошибкой — этот факт можно найти в ProcessMonitor и посмотреть что там произошло…).
1) Перед запуском утилиты, я вам рекомендую открыть свойства ярлыка (запускаемой программы) и скопировать оригинальное название exe-файла. Пример на скрине ниже.
2) Далее нужно запустить утилиту, и сразу же открыть нужную программу/игру. Как только она вылетит с ошибкой, перейдите в ProcessMonitor и:
- включите отображение всех событий (см. стрелку-1 на скрине ниже),
- перейдите в режим фильтрации (стрелка-2),
- переключите фильтрацию в режим Process Name (т.е. чтобы можно было указать тот процесс, который нам нужен — т.к. их в утилите будет очень много),
- вставьте оригинальное название файла игры,
- нажмите OK.
Далее рекомендую еще раз открыть фильтрацию и исключить все успешные (SUCCESS) строки. Пример ниже.
В результате у вас останутся только проблемные строки (в каждом конкретном случае их количество может сильно разница). В моем, например, исходя из первых строк стало понятно, что есть какая-то проблема с файлом ‘steam_api.dll’ в папке с игрой. В последствии оказалось, кстати, что его удалил защитник Windows (после восстановления — игра заработала!) …
Кстати, также достаточно часто встречается случай отсутствия прав на доступ к определенным DLL файлам. Например, если ProcessMonitor покажет вам ошибку ACCESS DENIED (скажем, к C:\Windows\Syswow64\MSVBVM50.DLL) — то нужно вручную разрешить чтение данного файла для текущего пользователя.
Делается это просто: сначала находите нужный файл (адрес также показывается в ProcessMonitor, см. скрин выше). Далее открываете его свойства, переходите во вкладку ‘Безопасность’ и жмете ‘Изменить’.
После добавляете нового пользователя (см. скриншот ниже).
Две галочки для возможности чтения файла, обычно, стоят по умолчанию — поэтому останется только сохранить настройки.
PS
Если из вышеперечисленного ничего не помогло — можно посоветовать загрузить другую версию игры/приложения. Возможно, что текущая просто несовместима с вашей версией ОС, ПО (а возможно, что она просто была повреждена, например, вирусами…).