Ошибка capi2 код 4107

Fix | UAC: Это приложение заблокировано в целях защиты — mmc. exe

Я тестировал откат к точке восстановления в Windows 10 20H1 Release Preview и внезапно напоролся на вынесенную в заголовок проблему. Сегодня я расскажу о ее диагностике и покажу решение.

This app has been blocked for your protection

Занятно, что неделей ранее мы ковыряли такую же ситуацию в чате инсайдеров, но к решению не пришли. Видимо, когда сам сталкиваешься с проблемой, какие-то косвенные признаки помогают или просто приходят в голову другие идеи :)

👉 Описанное в статье решение применимо к специфической ситуации и может не помочь в вашем случае, даже если все симптомы совпадают. При таком раскладе просто переустановите ОС поверх с сохранением настроек и программ.

[+] Сегодня в программе

Описание проблемы

Контроль учетных записей блокирует запуск оснасток MMC (диспетчер устройств, журнал событий, службы и т. д.) сообщением:

Это приложение заблокировано в целях защиты. Администратор заблокировал выполнение этого приложения. За дополнительными сведениями обратитесь к администратору.

This app has been blocked for your protection. An administrator has blocked you from running this app. For more information, contact the administrator.

Эта ошибка не связана с заблокированными файлами!

Аналогичное сообщение может появляться при запуске исполняемых файлов, загруженных из интернета. В этом случае проблема решается легко – надо разблокировать файл в его свойствах или из PowerShell. Об этом я рассказывал в рамках статьи об альтернативных потоках данных NTFS.

В сети много однотипных статей, советующих стандартный набор: разблокировку файла, отключение SmartScreen, добавление файла в исключения антивируса и т. д., но они все мимо.

Диагностика

Обратите внимание на строку Издатель: Нет данных в диалоге UAC. Система по какой-то причине не может проверить издателя приложения и блокирует запуск.

Отсутствие издателя

На самом деле в диалоге UAC это наблюдается не только у mmc. exe, но и у множества исполняемых файлов Windows. В этом можно убедиться, например, запустив командную строку от имени администратора. А можно в Process Explorer добавить столбец Verified Signer и увидеть страшную картину.

This app has been blocked for your protection

UAC блокирует почему-то только оснастки MMC. Впрочем, иначе было бы еще хуже ;)

Служба криптографии

За проверку издателя отвечает служба криптографии. В чате мы безуспешно тыкали вокруг нее пальцем в небо, а в своей ОС я обратил внимание, что служба грузит ЦП на 15-20%.

This app has been blocked for your protection

Монитор ресурсов показал постоянную запись 80-90кб/сек в $LogFile, но причины такого поведения оставались неясными.

This app has been blocked for your protection

Это навело меня на мысль сделать проверку диска, и она даже что-то исправила, но не насущную проблему. Для очистки совести я прогнал DISM и SFC, а также удалил последнее обновление, но эти способы ожидаемо не помогли.

Журнал событий

Вообще, с этого можно было начинать, но иногда я забываю даже про такие основы диагностики, как безопасный режим :)

В журнале приложений обнаружились тысячи свежих ошибок CAPI2 и десятки тысяч предупреждений ESENT! Модуль КриптоПРО тоже отметился в качестве пострадавшего.

This app has been blocked for your protection

В частности, регистрировались приведенные ниже ошибки.

Event 256 — CAPI2

Event 642 — ESENT

Catalog Database (16656, D,50) Catalog Database: Не удается использовать версию функции формата базы данных 9180 (0 x23 dc), так как в качестве текущего используется формат базы данных 1568.20.0, и он определяется параметром 0 x410022 D8 (8920 | JET_ efvAllowHigherPersistedFormat).

Catalog Database (16656,D,50) Catalog Database: The database format feature version 9180 (0x23dc) could not be used due to the current database format 1568.20.0, controlled by the parameter 0x410022D8 (8920 | JET_efvAllowHigherPersistedFormat).

Catalog Database

Стало намного теплее! Catalog Database – это файл базы данных криптографических хэшей. В папке System32 есть две подпапки – catroot и catroot2. В первой данные о пакетах драйверов, а во второй – о системных файлах.

Я попробовал остановить службу криптографии и починить системную базу данных каталогов с помощью входящей в ОС утилиты esentutl:

Это не помогло, но оставалось еще кардинальное средство.

Решение

Решение заключается в пересоздании системной базы данных каталогов. В PowerShell от имени администратора:

Первая команда останавливает службу криптографии, вторая переименовывает папку catroot2, а третья перезагружает систему (в моем случае перезапуска службы оказалось недостаточно).

После перезагрузки папка catroot2 создалась заново, и все наладилось! Любопытно, что у товарища в чате система сама исправила проблему спустя четыре дня после появления.

This app has been blocked for your protection

Однако мне не удалось выяснить, что именно проделала ОС для самовосстановления. Равно как осталось загадкой, что вызвало сбой на вполне свежей установке Release Preview.

Заключение

Даже неопытный пользователь легко решит такую проблему переустановкой ОС поверх без всякой диагностики. Однако это проблематично на инсайдерских сборках, в т. ч. на этапе Release Preview, потому что нет дистрибутива!

Для быстрого и медленного колец ISO выпускаются не слишком часто, а в случае с Release Preview нужно ждать общей доступности грядущей версии. Поскольку легкого пути решения проблем нет, приходится обращаться за поддержкой или разбираться самостоятельно.

Об авторе

Вас также может заинтересовать:

Я в Telegram

Подпишитесь на канал и читайте интересные записи чаще! Есть вопросы? Задайте их в чате.

комментариев 29

Утром столкнулся с такой проблемой на ltsc. (нельзя запустить редактор групповых политик и открыть диспетчер устройств — сообщение как на скриншоте, до этого все работало) Исправил в реестре параметр EnableLUA на 0. Проблема исчезла… Хоть это и не правильно.

Ваша оценка: Thumb up Thumb down0

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

Ваша оценка: Thumb up Thumb down0

Yaromax

За отключение UAC в современных системах — пожизненный эцих с гвоздями (© Кин-Дза-Дза).

Ваша оценка: Thumb up Thumb down0

Постараюсь завтра проверить. Логично, что отключение UAC, — это не решение, а временная мера.

Ваша оценка: Thumb up Thumb down0

«Фараону помогло». Спасибо за совет! Проблема действительно была в этом.

Ваша оценка: Thumb up Thumb down+1
Ваша оценка: Thumb up Thumb down0

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

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

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

Ваша оценка: Thumb up Thumb down0

Версия насчёт обновления похожа на правду — проблемы начались после него (хотя «после» не значит «вследствие»).
Но непонятно, почему без отката обновления всё само починилось спустя некоторое время.

Ваша оценка: Thumb up Thumb down0

Трудно сказать, была ли причина в обновлении. Это было KB4558244 (в базе знаний этих статей нет, ибо превью). Это добавка к предварительному же накопительному обновлению KB4550936.

Вчера был второй вторник, соответственно обновление полетело в массы. И если причина в нем и она не исправлена и применима к 1909 и ниже, то мы увидим много проблем… У меня однако финальная версия накопительного обновления для RP проблему не создала.

Ваша теория понятна, но она не вполне объясняет, почему все починилось после пересоздания каталога, равно как без отката обновления.

Ваша оценка: Thumb up Thumb down0

Почитал описание KB4550936 внимательнее — да, обновляли Microsoft JET Database Engine. Видимо с этим и связано.

Ваша оценка: Thumb up Thumb down0

Ну да, только дело не в обновлении, а в откате обновления. Проблема же началась после отката обновления?

Ваша оценка: Thumb up Thumb down0
Ваша оценка: Thumb up Thumb down0

Ваша теория понятна, но она не вполне объясняет, почему все починилось после пересоздания каталога, равно как без отката обновления.

Эта теория все объясняет:
— после обновления у вас все нормально, так как база успешно обновилась (обработчики обновления сработали верно)
— проблема появилась вследствие отката обновления, то есть отката версии компонента (обработчиков отката обычно не пишут)
— пересоздание каталога помогло тем, что эта база создалась заново автоматически, через старую версию компонента и при обновлении она опять обновится до новой. то есть эта «проблема» вполне воспроизводима, если после обновления второй раз вы захотите откатиться.

это просто достаточно частный случай, в данный момент со службой проверки сертификатов, а вообще это могло произойти с любым другим компонентом, в котором не пишут обработчиков отката

Ваша оценка: Thumb up Thumb down0

Mark Smirnov: — проблема появилась вследствие отката обновления, то есть отката версии компонента (обработчиков отката обычно не пишут)

Мы не откатывали обновления до появления проблемы. Я после возникновения проблемы откатил только KB4558244, но не KB4550936, которое предположительно первым внесло изменения в движок Jet.

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

Алексей вообще не делал откат ни того, ни другого.

Ваша оценка: Thumb up Thumb down0

Алексей

Установил уже кучу 10-ток, оригинальных, в том числе и LTSC, всегда сразу отключаю UAC и обновления, и таких проблем не наблюдаю, неужели Вам эти обновления так важны?

Ваша оценка: Thumb up Thumb down0

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

Под каждой из них есть ссылки на связанные статьи. Приятного чтения!

Ваша оценка: Thumb up Thumb down+1

Алексей Аркадьев:
Версия насчёт обновления похожа на правду — проблемы начались после него (хотя «после» не значит «вследствие»).
Но непонятно, почему без отката обновления всё само починилось спустя некоторое время.

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

Ваша оценка: Thumb up Thumb down0

Да, но у меня не было отката обновления!

Mark Smirnov: Эта проблема возникает не вследствие обновления, а вследствие отката обновления, когда новая версия компонента уже успел обновить версию базы, а старая не умеет работать с новой версией.

Ваша оценка: Thumb up Thumb down0

да в общем-то и без «mmc» можно.

Ваша оценка: Thumb up Thumb down0

После обновления с 1909 на 2004 (чистый образ msdn) появилась эта проблема.
К сожалению пересоздание системной базы данных каталогов не помогло!
Каталог переименовывается в catroot2.old, после перезагрузки создаётся новый catroot2 и проблема остаётся!

Ваша оценка: Thumb up Thumb down0

Вопрос обсуждается здесь https://forum. oszone. net/thread-342986.html
Возможно, вы и подняли эту тему.

Ваша оценка: Thumb up Thumb down0

Точно такая же проблема, решения пока видимо нету.

Ваша оценка: Thumb up Thumb down0

Пишите в тему все подробности об ОС и своих действиях.

Ваша оценка: Thumb up Thumb down0

Все то же самое. Приведенное решение не помогло.
Есть еще идеи?

Ваша оценка: Thumb up Thumb down0
Ваша оценка: Thumb up Thumb down0

Не помогло. Все так же.

Ваша оценка: Thumb up Thumb down0

Переустановите поверх (последняя ссылка в статье), версия 20H1 уже доступна

Ваша оценка: Thumb up Thumb down+1

Сделал. Все исправилось.
Но так и не понял, что это было.
Да и зачем нужна диагностика, когда все решает переустановка.

Ваша оценка: Thumb up Thumb down0

Angelin Dobrodnov: Да и зачем нужна диагностика, когда все решает переустановка.

В статье написано же

Однако это проблематично на инсайдерских сборках, в т. ч. на этапе Release Preview, потому что нет дистрибутива!

Ваша оценка: Thumb up Thumb down0

Источники:

https://www. outsidethebox. ms/20421/

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

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: