Кому и в чём отказала Windows
При запуске программы Windows создаёт процесс, загружает исполняемый файл и библиотеки, открывает нужные разделы реестра. На каждом шаге проверяется, разрешено ли учётной записи, от имени которой идёт запуск, читать и выполнять эти объекты. Разрешения хранятся прямо в файловой системе NTFS: у каждого файла и папки есть список, кому что можно. Если на каком-то шаге ответ «нельзя», процесс получает STATUS_ACCESS_DENIED, и Windows показывает окно с кодом 0xc0000022.
Чаще всего запрет возникает одним из четырёх путей. Программу перенесли папкой с другого диска или компьютера, и файлы сохранили права прежнего владельца, которого в этой системе нет. Антивирус посчитал подозрительной одну из библиотек и запретил её выполнять, не удаляя. Кто-то менял разрешения на папке Program Files или на всём диске, чтобы избавиться от окна «Запросите разрешение», и снял права у системных групп. Установка оборвалась, и часть файлов осталась недописанной. В ответах на форуме Microsoft Q&A называют те же причины: права, антивирус, повреждённые файлы и вредоносные программы.
Система или железо? Почти всегда система. Отказ в доступе — решение Windows, а не сбой детали. Железо стоит подозревать, только когда вместе с ошибкой запуска портятся и другие файлы: не открываются документы, проверка системных файлов находит повреждения снова и снова, диск медленно читает. Испорченный файл на слабеющем накопителе иногда тоже приводит к этому коду, но это уже след для мастера. Отдельно стоит компьютер после чужих рук: если его настраивал прежний владелец или системный администратор, запреты на запуск могли быть поставлены сознательно, и снимать их, не понимая, зачем они нужны, рискованно.
