Ошибка DistributedCOM 10016 в Windows: Параметры разрешений для приложения не дают разрешения локальной активации
11.02.2019
itpro
Windows 10, Windows 7, Windows Server 2012 R2
комментариев 19
В этой заметке я покажу, как исправить ошибку c Event ID 10016 от источника DistributedCOM на компьютере с Windows 10 / Windows Server 2012 R2. Ошибка DCOM 10016 довольно часто встречается как в клиентских, так и в серверных версиях Windows, начиная еще со времен Windows XP и исправляется она одинаково, независимо от редакции Windows.
Проблема проявляется следующим образом: в журнале событий системы при загрузке компьютера или попытке запуска/установки приложения появляется следующая ошибка:
Log Name: Система
Source: DistributedCOM
Event ID: 10016
Level: Ошибка
User: SYSTEM
Описание: Параметры разрешений для конкретного приложения не дают разрешения Локальный Запуск для приложения COM-сервера с CLSID и APPID пользователю NT AUTHORITY\система с SID (S-1-5-18) и адресом LocalHost (с использованием LRPC). Это разрешение безопасности можно изменить с помощью служебной программы управления службами компонентов.
В англоязычных версиях Windows описание ошибки такое:
The machine-default permission settings do not grant Local Activation permission for the COM Server application with CLSID
and APPID Unavailable to the user IIS APPPOOL\appIISPool SID (S-1-5-82-3351576649-1006875745-771203599-42452693-1279824824) from address LocalHost (Using LRPC) running in the application container Unavailable SID (Unavailable). This security permission can be modified using the Component Services administrative tool.
Судя по описанию ошибки: некий пользователь (например, IIS Apppool) или система (NT AUTHORITY\система) пытается запустить некий компонент COM с помощью инфраструктуры DCOM и не может этого сделать из-за отсутствия права «Локальный Запуск» или «Локальная активация» (Local Activation Permission). В коде ошибки содержатся только коды классов COM компонента и приложения. Попробуем определить, какому именно приложению принадлежит идентификатор и предоставить права, необходимые для его запуска.
Из описания события необходимо скопировать идентификаторы CLSID и APPID. В моем случае это
(в некоторых случаях идентификатор приложения может быть не указан — APPID Unavailable).
Также обратите внимание каких разрешений не хватает (Local Activation permission) и для какой учетной записи (NT AUTHORITY\SYSTEM или IIS APPPOOL\appIISPool SID — S-1-5-82-3351576649-1006875745-771203599-42452693-1279824824).
В каждом конкретном случае идентификаторы класса, приложения, учетной записи и типа доступа может отличаться.
- Запустите редактор реестра (regedit.exe);
- Перейдите в ветку реестра, соответствующую вашему CLSID. У меня это HKEY_CLASSES_ROOT\CLSID\;
В некоторых случаях нужно смотреть также в разделе реестра [HKEY_CLASSES_ROOT\Wow6432Node\CLSID\. При удаленном подключении к реестру он будет находиться в разделе HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID.








Если вы не можете найти свой компонент в списке, вероятно у вас 64 битная версия Windows, а запускаемый компонент является 32 битным. В этом случае нужно запустить консоль DCOM командой: mmc comexp.msc /32
Перейдите на вкладку Security. Все элементы управления должны быть доступными для изменения;
Если открыть консоль dcomcnfg до изменения разрешений на ветку реестра, все настройки на вкладке Security окажутся заблокированы (недоступны для изменения), несмотря на то, что вы запустили консоль от имени администратора.
Совет. Если в начальном логе ошибки вместо NT AUTHORITY\система была указана NT AUTHORITY\NETWORK SERVICE, необходимо дать права на локальный запуск и активацию для учетной записи NetworkService.
Предыдущая статья Следующая статья
Проблема вылетают игры
Параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID
и APPID
пользователю DESKTOP-PKAUNGA\kondr с ИД безопасности (S-1-5-21-1894243081-4134892019-621943842-1001) и адресом LocalHost (с использованием LRPC), выполняемого в контейнере приложения Недоступно с ИД безопасности (Недоступно). Это разрешение безопасности можно изменить с помощью средства администрирования служб компонентов.
Голосование за лучший ответ
1. Открываем реестр Win+R.
2. Находим HKEY_Local_Machine\Software\Classes\AppID\.
3. Добавляем этой ветки реестра полный доступ.
4. Открываем Службу компонентов (можно через поиск или Win+R, вводим там dcomcnfg и жмем ОК)
5. Затем с лева открываем «Службы компонентов => Компьютеры => Мой компьютер => Настройка DCOM», находим там RuntimeBroker и жмем по нему правой кнопкой мыши «Свойства». Если у вас RuntimeBroker несколько, то выбирайте тот у которого Код приложения . В версии 1903 сборки Windows, за место RuntimeBroker теперь название PerAppRuntimeBroker.
6. Открываем вкладку «Безопасность», «Разрешения на запуск и активацию», жмем кнопку «Изменить».
7. В открывшемся окне смотрим есть ли там пользователь который указан в ошибке, например у меня «PC\Name», если есть, выбираем его и ставим галочку на против «Локальная активация». Если пользователя нету, добавляем его.
8. Перезагружаем компьютер.
spintelligenceМастер (1333) 2 года назад
Важно: Если ошибка все равно осталась, то можно добавить разрешение «Локальная активация» для всех пользователей, после этого ошибка должна пропасть.
Ошибка Distributed COM 10016, что делать, и в чём заключается ошибка?
Параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID
и APPID
пользователю DESKTOP-UC7HHFD\mrxx1 с ИД безопасности (S-1-5-21-3195764186-213208991-1231130310-1001) и адресом LocalHost (с использованием LRPC), выполняемого в контейнере приложения Недоступно с ИД безопасности (Недоступно). Это разрешение безопасности можно изменить с помощью средства администрирования служб компонентов
Голосование за лучший ответ
Что делать если вылазеет эта ошибка в системе компьютер сам перезагружаеться, помогите мне решить эту ошибку
Имя журнала: System
Источник: Microsoft-Windows-DistributedCOM
Дата: 14.08.2017 1:59:00
Код события: 10016
Категория задачи: Отсутствует
Уровень: Ошибка
Ключевые слова: Классический
Пользователь: СИСТЕМА
Компьютер: DESKTOP-SLQP2P4
Описание:
Параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID
и APPID
пользователю NT AUTHORITY\СИСТЕМА с ИД безопасности (S-1-5-18) и адресом LocalHost (с использованием LRPC), выполняемого в контейнере приложения Недоступно с ИД безопасности (Недоступно). Это разрешение безопасности можно изменить с помощью средства администрирования служб компонентов.
Xml события:
10016
0
2
0
0
0x8080000000000000
для конкретного приложения
Локально
Активация
NT AUTHORITY
СИСТЕМА
S-1-5-18
LocalHost (с использованием LRPC)
Недоступно
Недоступно
Голосование за лучший ответ
Может проще и быстрее систему переустановить.
Заходишь в меню пуск, в поиске пишешь regedit.Жми правую кнопку мыши и делай запуск от имени администратора. Ctrl+f, вводишь <9CA88EE3-ACB7-47C8-AFC4-AB702511C276>.Делаешь find next, жми Правой кнопкой мыши по найденному коду (папка) и открываем permissions->advanced->owner. В списке возможных владельцев выбирай Администраторы и ставь галочку Replace owner on subcontainers and objects.Жми Ок. Теперь вернись в Permissions Security и для группы Администраторы и System ставь full control.Ок. Теперь на наш код один раз жми ЛКМ. Запомни столбец Data для (Default).Далее открываем консоль управления службами компонентов Start –> Administrative Tools –> Component Services (comexp.msc или dcomcnfg). Разворачиваем Computers –> My Computer–> DCOM Config (Настройка DCOM) и находим в списке SMS Agent Host.В контекстном меню открываем свойства этого элемента. На вкладке Безопасность в разделе Разрешения на запуск и активацию нажимаем кнопку Изменить. Выбираем Система и разрешаем Локальный запуск (Local Launch) и Локальную активацию (Local Activation). Сохраняем изменения, нажав ОК. Перезагружаем систему.9CA88EE3-ACB7-47C8-AFC4-AB702511C276>