Disturbedcom ошибка 10016 windows 10

В этой заметке я покажу, как исправить ошибку 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 {1CCB96F4-B8AD-4B43-9688-B273F58E0910} и APPID {AD65A69D-3831-40D7-9629-9B0B50A93843}пользователю NT AUTHORITYсистема с SID (S-1-5-18) и адресом LocalHost (с использованием LRPC). Это разрешение безопасности можно изменить с помощью служебной программы управления службами компонентов.

DistributedCOM ошибка 10016

В англоязычных версиях Windows описание ошибки такое:

The machine-default permission settings do not grant Local Activation permission for the COM Server application with CLSID

{000209FF-0000-0000-C000-000000000046} and APPID Unavailable to the user IIS APPPOOLappIISPool 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.

dcom 10016: not grant Local Activation permission for the COM Server application with CLSID and APPID

Судя по описанию ошибки: некий пользователь (например, IIS Apppool) или система (NT AUTHORITYсистема) пытается запустить некий компонент COM с помощью инфраструктуры DCOM и не может этого сделать из-за отсутствия права «Локальный Запуск» или «Локальная активация» (Local Activation Permission). В коде ошибки содержатся только коды классов COM компонента и приложения. Попробуем определить, какому именно приложению принадлежит идентификатор и предоставить права, необходимые для его запуска.

Из описания события необходимо скопировать идентификаторы CLSID и APPID. В моем случае это

CLSID : {000209FF-0000-0000-C000-000000000046}
APPID: {AD65A69D-3831-40D7-9629-9B0B50A93843}

(в некоторых случаях идентификатор приложения может быть не указан — APPID Unavailable).

Также обратите внимание каких разрешений не хватает (Local Activation permission) и для какой учетной записи (NT AUTHORITYSYSTEM или IIS APPPOOLappIISPool SID — S-1-5-82-3351576649-1006875745-771203599-42452693-1279824824).

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

  1. Запустите редактор реестра (regedit.exe);
  2. Перейдите в ветку реестра, соответствующую вашему CLSID. У меня это HKEY_CLASSES_ROOTCLSID{000209FF-0000-0000-C000-000000000046};

    В некоторых случаях нужно смотреть также в разделе реестра [HKEY_CLASSES_ROOTWow6432NodeCLSID. При удаленном подключении к реестру он будет находиться в разделе HKEY_LOCAL_MACHINESOFTWAREClassesAppID.

  3. В параметре класса должно быть указано имя. У меня это Microsoft Word Application;

    Чаще всего эта проблема возникает с компонентами:
    Immersive Shell
    CLSID: {C2F03A33-21F5-47FA-B4BB-156362A2F239}
    APPID: {316CDED5-E4AE-4B15-9113-7055D84DCC97}
    RuntimeBroker
    CLSID: {D63B10C5-BB46-4990-A94F-E40B9D520160}
    APPID : {9CA88EE3-ACB7-47C8-AFC4-AB702511C276}

    HKEY_CLASSES_ROOTCLSID

  4. Щелкните правой кнопкой мыши по разделу реестра и выберите пункт Permissions (Разрешения);
  5. Нажмите на кнопку Advanced; права доступа к ветке реестра
  6. В разделе Owner (Владелец) будет указано NT ServiceTrustedInstaller или System; владелец ветки реестра
  7. Нажмите кнопку Change и укажите имя своей учетной записи администратора. Сохраните изменения; изменить владельца ветки реестра на администартора
  8. Обратите внимание, что имя владельца ветки сменилось на вашу учетную запись. Поставьте галку Replace owner on subcontainers and objects (Заменить владельца подконтейнеров и объектов) и нажмите “ОК”; заменить владельца ветки реестра и вложенных
  9. В списке разрешений добавьте вашу учетную запись администратора и предоставьте ей полный доступ (Full Permissions); полный доступ на ветку реестра для администратора
  10. Вы предоставили права на ветку с CLSID. Теперь нужно повторить предыдущие шаги, предоставив учетной записи администратора права на ветку с вашим идентификатором APPID из текста ошибки (например, HKEY_CLASSES_ROOTAppID{AD65A69D-3831-40D7-9629-9B0B50A93843};
  11. Теперь запустите консоль управления компонентами dcomcnfg с правами администратора (Control PanelAll Control Panel ItemsAdministrative ToolsComponent Services); dcomcnfg
  12. В консоли компонентов перейдите в ветку Component Services -> Computers -> My computer -> DCOM Config. В списке компонентов найдите имя компонента, которое вы определили на втором шаге (значение в столбце Application ID должно соответствовать вашему CLSID из ошибки). Откройте свойства компонента; свойства dcom компонента

    Если вы не можете найти свой компонент в списке, вероятно у вас 64 битная версия Windows, а запускаемый компонент является 32 битным. В этом случае нужно запустить консоль DCOM командой:
    mmc comexp.msc /32

  13. Перейдите на вкладку Security. Все элементы управления должны быть доступными для изменения; разрешения еа компоненте dcom

    Если открыть консоль dcomcnfg до изменения разрешений на ветку реестра, все настройки на вкладке Security окажутся заблокированы (недоступны для изменения), несмотря на то, что вы запустили консоль от имени администратора. security вкладка dcom не доступна

  14. В моем случае приложению не хватало прав на «Локальный Запуск» (Local Activation Permission). В секции Launch and Activation Permissions выберите Customize и нажмите кнопку Edit;
  15. В список доступа нужно добавить учетную запись, которой не хватало разрешений на запуск. Имя учетной записи было указано в тексте ошибки: в зависимости от текста в ошибке DCOM 10016 это может быть System, конкретный пользователь или учетка под которой запускается пул IIS (в этом случае нужно добавить доступ для локальной группы IIS_IUSR).

    Совет. Если в начальном логе ошибки вместо NT AUTHORITYсистема была указана NT AUTHORITYNETWORK SERVICE, необходимо дать права на локальный запуск и активацию для учетной записи NetworkService.

  16. Предоставьте нужные разрешения для учетной записи. Например, Local Activation -> Allow и Local Launch (Локальная активация) -> Allow; права Local Activation для system в dcom
  17. Перезагрузите компьютер и проверьте журналы событий. Ошибка DCOM 10016 должна исчезнуть.

Обновлено 19.08.2021

Ошибка 10016

Доброго времени суток, уважаемые читатели, сегодня решаем ошибку 10016 параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID {D63B10C5-BB46-4990-A94F-E40B9D520160} и APPID {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} в Windows server 2012 R2.

Ошибка 10016 в windows 10 и Windows Server

На сервере Windows Server 2012 R2 постоянно возникает ошибка 10016.

Имя журнала: Система
Источник: DistributedCOM
Код: 10016

{D63B10C5-BB46-4990-A94F-E40B9D520160}

{D63B10C5-BB46-4990-A94F-E40B9D520160}

Параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID
{D63B10C5-BB46-4990-A94F-E40B9D520160}
и APPID
{9CA88EE3-ACB7-47C8-AFC4-AB702511C276} или {316CDED5-E4AE-4B15-9113-7055D84DCC97} или {4839DDB7-58C2-48F5-8283-E1D1807D0D7D}
пользователю NT AUTHORITYСИСТЕМА с ИД безопасности (S-1-5-18) и адресом LocalHost (с использованием LRPC), выполняемого в контейнере приложения Недоступно с ИД безопасности (Недоступно). Это разрешение безопасности можно изменить с помощью средства администрирования служб компонентов.

Событие 10016

The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID
{6B3B8D23-FA8D-40B9-8DBD-B950333E2C52}
and APPID
{4839DDB7-58C2-48F5-8283-E1D1807D0D7D}
to the user NT AUTHORITYLOCAL SERVICE SID (S-1-5-19) 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.

{316CDED5-E4AE-4B15-9113-7055D84DCC97}

Данная ошибка выскакивает, когда какая-то из утилит не может обратиться к DCOM объекту, чаще всего, это связано с недостаточностью разрешений. Был реализован шаблон кодирования, где код сначала пытается получить доступ к компонентам DCOM с одним набором параметров. Если первая попытка не удалась, она пытается снова с другим набором параметров. Причина, по которой он не пропускает первую попытку, заключается в том, что существуют сценарии, в которых он может быть успешным. В этих сценариях это предпочтительнее. Если вы не в курсе, что такое COM объекты и DCOM, то если по простому, это концепция для создания программного обеспечения на основе взаимодействующих компонентов объекта, каждый из которых может использоваться во многих программах одновременно. На основе COM были созданы ActiveX, DCOM, COM+, DirectX, .Net.

  • {316CDED5-E4AE-4B15-9113-7055D84DCC97} — Кнопка пуск (Immersive Shell) — интерфейс метро
  • {4839DDB7-58C2-48F5-8283-E1D1807D0D7D} — ShellServiceHost
  • {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} — RuntimeBroker

Подробнее вы можете почитать в вики https://ru.wikipedia.org/wiki/Component_Object_Model

Сначала нужно обновить Windows через центр обновления, и если не поможет, то делаем по очереди предложенные решения:

  • Назначаем недостающие права на ветку с GUID номером {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} или другим, зависит от вашей ситуации с кодом ошибки 10016
  • Удаление некоторых ключей реестра
  • Использование скрипта PowerShell

Как исправить ошибку 10016 через назначение прав в реестре

  1. Сразу логинимся на проблемный сервер под администратором, чтобы не вводить всякий раз имя и пароль. Запускаем Regedit.
  2. Запускаем поиск (CTRL+F) и ищем второй из GUIDов в описании ошибки, т.е. APPID. В данном случае это «{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}».Ошибка 10016
  3. Первый результат поиска должен быть в ключе HKEY_CLASSES_ROOTAppID. Наступаем на найденный GUID в левой панели и щелкаем правой кнопкой, выбираем Разрешения, а затем кнопку Дополнительно.Меняем права для устранения ошибки 10016
  4. В верхней части дополнительных параметров указан текущий владелец TrustedInstaller. Нажимаем рядом с ним ссылку Изменить.Изменение владельца
  5. Нам нужно сделать владельцем локальную группу Администраторы. Затем кнопки Дополнительно, Поиск и выбираем в результатах поиска Администраторы. код ошибки 10016
  6. Ставим флажок «Заменить владельца подконтейнеров и объектов», кнопка ОК.Заменить владельца подконтейнеров
  7. После смены владельца мы можем изменять разрешения. В окне Разрешения на вкладке Безопасность даем для СИСТЕМА и Администраторы разрешение на полный доступ. ОК.
  8. Далее смотрим для нашего ключа HKEY_CLASSES_ROOTAppID{9CA88EE3-ACB7-47C8-AFC4-AB702511C276} значение параметра «(По умолчанию)» = «RuntimeBroker«.

Ошибка 10016 в windows-1
8. В диспетчере серверов в правом верхнем углу меню Средства -> Службы компонентов. Открываем Компьютеры –> Мой компьютер –> Настройка DCOM. Правый клик по строке из п.7 RuntimeBroker, Свойства.

Ошибка 10016 в windows-2
9. На вкладке Безопасность. В разделе Разрешения на запуск и активацию кнопка Изменить. Для группы СИСТЕМА разрешаем Локальный запуск и Локальная активация. ОК. Если вам runtimebroker не дает отредактировать настройки, то вам нужно дать права на него в реестре Windows

Не дает отредактировать службу dcom при ошибке 10016

Открываем редактор реестра Windows. Переходим в ветку

HKEY_CLASSES_ROOTAppIDRuntimeBroker.exe

щелкаем по нему правым кликом и выбираем свойства.

runtimebroker exe windows 10-2

Даем права для группы администраторы (Полный доступ)

runtimebroker exe windows 10-3

Если не даст вам поставить, то вам нужно заменить владельца Trustinstaller на себя или группу администраторы. Как только дали права, идем опять в компоненты DCOM и выставляем права, как описывал выше.

runtimebroker exe windows 10-4

10. Перезагружаем сервер, проверяем логи, по сути ошибку 10016 параметры разрешений для конкретного приложения не дают разрешения Локально Активация для приложения COM-сервера с CLSID {D63B10C5-BB46-4990-A94F-E40B9D520160} и APPID {9CA88EE3-ACB7-47C8-AFC4-AB702511C276} вы не должны больше увидеть.

Как исправить ошибку 10016 через удаление ключей из ветки OLe

Данный метод подразумевает удаление нескольких ключей реестра, которые отвечают за проверку прав на COM объекты. Нас будет интересовать ветка реестра:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftOle

Ole — эта ветка управляют параметрами запуска по умолчанию и разрешениями доступа, а также возможностями безопасности на уровне вызовов для приложений на основе COM, которые не вызывают CoInitializeSecurity. Только администраторы, создатель объекта и система имеют полный доступ к этой части реестра. Все остальные пользователи имеют доступ только для чтения.

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

Щелкаем по контейнеру Ole правым кликом и из контекстного меню выберите пункт Экспорт.

Экспорт ветки реестра Ole

Задаем имя экспортируемого ключа. В случае проблем вы всегда сможете его импортировать и вернуть все к исходному состоянию.

Выгрузка ветки реестра при ошибке 10016

Теперь, чтобы исправить ошибку 10016 в Windows 10 или как у меня в Windows Server 2012 R2 или выше, вам необходимо удалить четыре ключа:

  • DefaultAccessPermission — Определяет список разрешений доступа по умолчанию для компьютера. Устанавливает список контроля доступа (ACL) участников, которые могут получить доступ к классам, для которых нет настройки AccessPermission . Этот ACL используется только приложениями, которые не вызывают CoInitializeSecurity и не имеют значения AccessPermission под своим ключом AppID. Среда выполнения COM на сервере проверяет ACL, описываемый этим значением, при олицетворении вызывающей стороны, которая пытается подключиться к объекту, и ее успех определяет, разрешен или запрещен доступ. Если проверка доступа не пройдена, соединение с объектом будет запрещено. Если это именованное значение не существует, только серверу участника и локальной системе разрешается вызывать сервер. По умолчанию это значение не содержит записей. Только принципал сервера и система могут вызывать сервер. Это значение обеспечивает простой уровень централизованного администрирования доступа по умолчанию к подключенным объектам на компьютере.
  • DefaultLaunchPermission — Определяет список запуска по умолчанию для компьютера. Определяет список контроля доступа (ACL) участников, которые могут запускать классы, которые не указывают свой собственный ACL через значение реестра LaunchPermission. Права доступа по умолчанию следующие: Администраторы: разрешить запуск, СИСТЕМА: разрешить запуск, ИНТЕРАКТИВНО: разрешить запуск. Если значение LaunchPermission установлено для сервера, оно имеет приоритет над значением DefaultLaunchPermission . После получения локального или удаленного запроса на запуск сервера, у которого ключ AppID не имеет собственного значения LaunchPermission, проверяется ACL, описанный этим значением, при олицетворении клиента, и его успех разрешает или запрещает запуск кода класса.Это значение обеспечивает простой уровень централизованного администрирования запуска по умолчанию для доступа к другим незарегистрированным классам на компьютере. Например, администратор может использовать инструмент DCOMCNFG для настройки системы, чтобы разрешить доступ только для чтения для опытных пользователей. Поэтому OLE будет ограничивать запросы на запуск кода класса членами группы «Опытные пользователи». Впоследствии администратор может настроить разрешения на запуск для отдельных классов, чтобы предоставить возможность запуска кода класса другим группам или отдельным пользователям по мере необходимости.
  • MachineAccessRestriction — Устанавливает политику ограничения на уровне компьютера для доступа к компоненту. Принципалы, которым здесь не предоставлены разрешения, не могут получить их, даже если разрешения предоставляются значением реестра DefaultAccessPermission или функцией CoInitializeSecurity. По умолчанию члены группы «Все» могут получать разрешения на локальный и удаленный доступ, а анонимные пользователи могут получать разрешения на локальный доступ.
  • MachineLaunchRestriction — Устанавливает политику ограничения на уровне компьютера для запуска и активации компонента. Принципалы, которым здесь не предоставлены разрешения, не могут получить их, даже если разрешения предоставляются значением реестра DefaultAccessPermission или функцией CoInitializeSecurity. По умолчанию администраторы могут получать разрешения на локальный и удаленный запуск и активацию, а члены группы «Все» могут получать разрешения на локальную активацию и запуск.

Подробнее о данной ветке можно почитать по адресу https://docs.microsoft.com/en-us/windows/win32/com/hkey-local-machine-software-microsoft-ole

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

Устранение ошибки 10016

Исправление ошибки 10016 через PowerShell

Если вам не удалось изменить запуск службы для системы, то можно все поправить и избавиться от сообщений «APPID
{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}
пользователю NT AUTHORITYСИСТЕМА с ИД безопасности (S-1-5-18) и адресом LocalHost (с использованием LRPC), выполняемого в контейнере приложения Недоступно с ИД безопасности (Недоступно)» с помощью скрипта PowerShell. Открываем ссылку с Microsoft

https://gallery.technet.microsoft.com/Grant-Revoke-Get-DCOM-22da5b96

Или во тут

Скачиваем тут сценарий DCOMPermissions.psm1

Исправление 10016 через powershell

Кладем данный модуль в нужную вам папку. Далее вы открываете консоль PowerShell и переходите в месторасположение данного модуля, после чего его нужно импортировать:

Import-Module .DCOMPermissions.psm1

Grant-DCOMPermission -ApplicationID «{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}» -Account «SYSTEM» -Type Launch -Permissions LocalLaunch,LocalActivation -OverrideConfigurationPermissions

Если ошибок не вышло, то значит все успешно применено, перезагрузка не потребуется.

Исправление ошибки dcom в powershell

Далее вы можете посмотреть примененные разрешения:

GetDCOMPermission ApplicationID «{9CA88EE3-ACB7-47C8-AFC4-AB702511C276}» Type Launch

Вы увидите права у системы, у нее будет SID S-1-5-10.

ошибка 10016

На этом у меня все, мы успешно устранили ошибку DCOM 10016.  Я должен подчеркнуть, что ошибка DCOM 10016 вряд ли повлияет на производительность вашей системы. В очень старые времена, когда Microsoft впервые представила «Distributed» в компонентной объектной модели, были уязвимости. Однако эти уязвимости были исправлены, и DCOM теперь безопасен. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.

В каждой ОС может случиться сбой, в том числе и в «Виндовс». Каждая ошибка обычно помечается специальным кодом и текстом — пояснением, почему она появилась. Что делать, если вы столкнулись с ошибкой под номером 10016 в «Журнале событий»?

Ошибка 10016: с чем она связана и как проявляется

Ошибку DistributedCOM 10016 можно обнаружить в «Журнале событий». Она появляется из-за аварийного отключения ПК, аппаратного или программного сбоя устройства. Ошибка указывает на то, что служба DCOM не может запустить какое-либо приложение, потому что у системы отсутствуют права (разрешения) на это. В ошибке указываются два параметра: CLSID и APPID. Их значения нужны для поиска программы, на запуск которой у системы не хватает прав.

Как указывается в справке «Майкрософт» эта ошибка может быть проигнорирована юзером, но только в том случае, если система работает корректно. Но обычно, если есть такая проблема, система быстро забивает список «Просмотр событий» тысячами сообщений с ошибкой. Чтобы этого не происходило, нужно устранить неполадку.

Как убрать ошибку DistributedCOM 10016

Решение проблемы состоит из двух этапов — оба опишем как можно подробно. Наберитесь терпения и приступайте к процедуре.

Настройка разрешений в реестре

Перед редактированием реестра обязательно создайте точку восстановления, чтобы можно было в любой момент сделать откат до текущих настроек, если что-то пойдёт не так:

  1. Кликните по иконке лупы на «Панели задач» и вставьте команду systempropertiesprotection. Откройте результат выдачи.

    systempropertiesprotection

    В поиске вбейте код systempropertiesprotection

  2. Щёлкните по «Создать».
  3. Введите название для точки. Подтвердите её сохранение и дождитесь завершения процесса. В итоге вы должны получить уведомление о том, что точка была успешно сохранена.

    Создание точки

    Напишите название для точки восстановления и запомните его

Теперь переходим к самой процедуре:

  1. Заходим в «учётку», которая обладает правами администратора на вашем ПК. В «Журнале событий» выделяем значение для APPID, которое значится в ошибке.

    Просмотр событий

    Скопируйте значение для APPID в буфер обмена

  2. Зажимаем «Вин» и R — вставляем в строчку команду regedit и жмём на ОК.
  3. Кликаем по пункту «Компьютер» слева.
  4. Щёлкаем по «Правка» и через меню открываем поиск.

    Правка

    В правке выберите пункт «Найти»

  5. Вставьте скопированное значение из «Журнала событий» в строчку «Найти». Отметьте поиск по разделам и запустите сканирование.
  6. В результатах поиска кликаем слева по найденной папке (с названием значения APPID) правой клавишей мышки — выбираем строку «Разрешения».

    Разрешения

    Перейдите к разрешениям папки

  7. Тапаем по кнопке «Дополнительно» в новом окне.

    Разрешения для группы

    Кликните по «Дополнительно» в небольшом окне

  8. Переходим по ссылке «Изменить».

    Владелец

    Перейдите к смене владельца

  9. Снова жмём на «Дополнительно».

    Выбор пользователя

    Нажмите на «Дополнительно» в маленьком окошке

  10. Кликаем по «Поиск». Выбираем в меню ниже администратора и щёлкаем по ОК.

    Администраторы

    Выделите администраторов и щёлкните по ОК

  11. Подтверждаем выбор пользователя.

    Выбор группы

    Просто кликните по ОК

  12. Жмём сначала в разрешениях по «Применить», а затем по ОК, чтобы окно закрылось.

    Применение настроек

    Примените настройки и нажмите на ОК

  13. В окошке «Разрешение для групп» выделяем администратора в верхнем списке и включаем для него полный доступ. Сохраняем настройки.

    Администраторы в списке

    Предоставьте полный доступ администраторам

  14. То же самое делаем для значения параметра CLSID из ошибки в «Журнале событий».

    CLSID

    Повторите процедуру в «Редакторе реестра», только уже с параметром CLSID из ошибки 10016

Настройка служебных компонентов

После манипуляций с разрешениями настройте некоторые системные компоненты:

  1. Откройте панель «Поиск» на «Панели задач» и введите запрос «Службы компонентов». Откройте соответствующий результат.

    Службы компонентов

    Откройте «Службы компонентов» через панель для поиска

  2. Запустите ветку «Компьютер», а затем «Мой ПК». Перейдите на вкладку «Настройки DCOM». Отыщите строчки RunTime Broker. Они будут где-то в середине списка.

    RunTime Broker

    Найдите компонент RunTime Broker в списке

  3. Там будут два параметра с указанным названием. Чтобы проверить, какой нужен именно сейчас, откройте по очереди свойства каждого из пунктов с помощью контекстного меню.

    Свойства

    Перейдите к свойствам RunTime Broker

  4. Сравните код со значением APPID из ошибки.

    Код приложения

    Сравните значение APPID в ошибке 10016 с кодом приложения

  5. Когда определите нужный параметр RunTime Broker, зайдите в окне для его свойств в блок для безопасности. Щёлкните по «Изменить».

    Разрешения на запуск

    Щёлкните по «Изменить» в окошке

  6. Подтверждаем удаление нераспознанных разрешений.

    Безопасность

    Нажмите на «Удалить» в окне

  7. Щёлкните по клавише «Добавить».

    Добавление

    Нажмите на «Добавить» под списком

  8. Выберите кнопку «Дополнительно».
  9. Щёлкните по «Поиск». В меню ниже выберите строчку Local Service и кликните по ОК.

    Поиск юзера

    Найдите юзера LOCAL SERVICE

  10. Подтвердите выбор пользователя.
  11. Выделяем в списке вверху Local Service. В таблице ниже отмечаем птичками параметры для локального запуска и локальной активации. Сохраняемся.

    LOCAL SERVICE

    Выберите первое и третье значение в разрешениях

  12. Добавляем ещё одну «учётку» под названием «Система».

    Система

    Выделите в списке «Система»

  13. Включаем также локальный запуск и локальную активацию.

    Предоставление разрешения

    Системе также предоставляем первое и третье разрешение

  14. В свойствах RunTime Broker применяем настройки и жмём на ОК.

    Применение настроек в окне

    Сохраните обязательно все изменения

Сначала вам нужно предоставить все разрешения через «Редактор реестра», а затем поработать в окне «Службы компонентов» с параметром RunTime Broker, чтобы успешно решить проблему с кодов 10016 в «Журнале событий». Перед процедурой не забудьте сохранить на ПК точку восстановления, чтобы можно было сделать в любой момент возврат исходного состояния системы до всех манипуляций.

  • Распечатать

Оцените статью:

  1. 5
  2. 4
  3. 3
  4. 2
  5. 1

(4 голоса, среднее: 5 из 5)

Поделитесь с друзьями!

Возникновение ошибки DistributedCOM с кодом события Event ID 10016 означает, что приложение пыталось запустить сервер DCOM, но в текущей учетной записи пользователя нет требуемых разрешений для этого. Ошибка известна еще с Windows 7, однако не решается при обновлении системы до Windows 8.1 и 10.

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

Но прежде чем приступить к устранению неполадок, проверьте состояние блока питания ПК. Если используется разгон процессора, видеокарты или ОЗУ, уменьшите установленные параметры или вообще отключите. Кроме того, убедитесь, что драйверы видеокарты обновлены по последней версии.

Добавление полных разрешений приложению, вызывающего ошибку

Значения CLSID и APPID уникальны для каждого приложения. С их помощью можно идентифицировать приложение, вызывающего ошибку DistributedCOM 10016.

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

Откройте Редактор реестра командой regedit, запущенной из окна Win + R.

Перейдите в раздел HKEY_CLASSES_ROOT, затем в CLSID.

Найдите папку с идентификатором CLSID, который указан в сообщении об ошибке DCOM.

Теперь щелкните правой кнопкой мыши на нем и выберите «Разрешения», затем нажмите на кнопку «Дополнительно».

Перейдите на вкладку «Владелец» и измените его на группу «Администраторы». Отметьте флажком опцию «Заменить владельца подконтейнеров и объектов». Примените изменения нажатием на «ОК».

Вернувшись в окно разрешений, кликните на кнопку «Добавить». Нажмите Дополнительно – Поиск и выберите учетную запись «Все». Снова в окне разрешений выберите «Все» из списка пользователей и предоставьте ей полный доступ в столбце «Разрешить». Примените изменения на «ОК».

После этого в редакторе реестра перейдите по пути:
HKEY_LOCAL_MACHINE – Software – Classes – AppID.

Перейдите в раздел, содержащий тот же идентификатор приложения, что указан в сообщении об ошибке. Щелкните по нему правой кнопкой мыши и выберите «Разрешения», затем нажмите на «Дополнительно».

Повторите указанные шаги для предоставления приложению полного доступа.

Нужно отметить, что при просмотре папок CLSID и APPID увидите раздел с именем службы, вызывающей ошибку DCOM 10016.

Затем перейдите в Панель управления командой control из окна Win + R.

Переключитесь на крупные значки и перейдите в раздел «Администрирование».

Разверните вкладку «Службы компонентов». В центральном окне разверните вкладку «Компьютеры», затем Мой компьютер.

Теперь найдите службу, вызывающую ошибку, щелкните ее правой кнопкой мыши и выберите «Свойства». Откройте вкладку Безопасность.

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

После выбора настроек для трех категорий, выберите «Изменить» для разрешения на запуск и активацию. Если отобразится предупреждение о том, что одна или несколько прикрепленных записей доступа имеют неправильный тип, щелкните кнопку «Удалить». Это означает, что разрешения в реестре были установлены на значение, отличное чем «По умолчанию», которое требуется для завершения исправления.

В новом окне найдите учетную запись «Система» в списке пользователей. Если она не существует, щелкните на «Добавить». Введите «Система» и кликните на «ОК».

Теперь выберите запись «Система», установите флажок в столбце разрешить рядом к локальным запуском и активацией.

Также можете увидеть локальный доступ вместо этого, поэтому просто убедитесь, что есть проверка для этого элемента в столбце разрешить. Для сохранения нажмите на «ОК».

Повторите шаги для остальных категорий – разрешения доступа и изменения настроек.

Затем повторите все шаги для других значений ClSID и AppID, перечисленный в журнале событий.

После завершения перезагрузите компьютер. Попытайтесь запустить программу, которую ранее не удавалось из-за ошибки DistributedCOM с Event ID 10016.

Удаление разделов реестра

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

Откройте Редактор реестра с помощью поисковой системы Winsows, предоставив ему доступ администратора.

Перейдите в раздел HKEY_LOCAL_MACHINE –SOFTWARE – Microsoft – Ole.

Теперь удалите разделы:

  • DefaultAccessPermission;
  • DefaultLaunchPermission;
  • MachineAccessRestriction;
  • MachineLaunchRestriction.

Сохраните изменения и перезагрузите систему. После перезагрузки в реестр будут записаны значения по умолчанию, что должно устранить ошибку DistributedCOM с кодом события 10016.

Иногда при запуске компьютера в журнале событий Windows 10 можно увидеть ошибку с кодом события 10016, вызванную службой DistributedCOM (DCOM). Этот компонент используется практически во всех версиях ОС Windows, поэтому ошибка может возникнуть на любом компьютере. В большинстве случаев она никак не нарушает работу ПК, но может мешать тем, что вызывает появление уведомлений при каждом старте системы. Что это за ошибка DistributedCOM 10016 в работе Виндовс 10, каковы причины её появления, и как ее исправить? Расскажу об этом в данной статье.

Почему появляется ошибка DistributedCOM 10016?

Найти ошибку DistributedCOM 10016 можно в службе «Просмотр событий», которая открывается через раздел «Администрирование» панели управления, утилитой «Выполнить» или командой eventvwr в командной строке. Служба отслеживает все, что происходит с системой и установленными приложениями, а также планирует выполнение задач в будущем.

Системный журнал Windows 10

Ошибка DistributedCOM 10016 в Windows 10 — это системное событие, поэтому находится она в пункте «Система» раздела «Журналы Windows» в меню слева. Справа расположен список событий, в котором и можно найти ошибку — она помечена красной иконкой с восклицательным знаком. В верхнем окне справа отмечается основная информация о событии — точное время, код и источник. В нижнем окне служба показывает всю информацию об ошибке, которой достаточно для ее решения, но разобраться в этих данных может быть сложно для начинающего пользователя.

Об ошибке DistributedCOM 10016 журнал говорит, что причиной ее является невозможность запуска конкретного приложения службой DCOM из-за отсутствия у системы разрешения на это. Ниже указан код приложения (ADDID) в шестнадцатеричной системе. Какой программе соответствует этот код, в данном случае не важно, ее название не потребуется для исправления ошибки 10016.

Еще ниже указано, какому пользователю нужно разрешение на запуск приложения. Как правило, при возникновении ошибки DCOM 10016 это пользователь SYSTEM. Таким образом, в том, как исправить ошибку DistributedCOM 10016 в Windows 10, нет особых сложностей — нужно найти соответствующее приложение и предоставить системе права на его запуск.

Как исправить ошибку DCOM 10016?

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

Пункт Разрешения

Делается это через реестр:

  1. Откройте редактор реестра, нажав Win+R и набрав regedit в окне «Выполнить».
  2. Найдите пункт «Найти» в разделе «Правка» меню редактора.
  3. Скопируйте 16-ричный код проблемного приложения из сообщения об ошибке DistributedCOM 10016 в поле поиска.
  4. Нажмите на него правой кнопкой мыши и выберите «Разрешения», затем — «Дополнительно».
  5. Смените владельца на группу «Администраторы».
  6. Вернитесь в меню «Разрешения», выберите группу «Администраторы» и поставьте галку напротив пункта «Полный доступ» в окне разрешений.

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

Окно настройки разрешений

После открытия утилиты порядок действий таков:

  1. Последовательно раскройте разделы «Службы компонентов», «Компьютеры», «Мой компьютер» в меню слева и выберите пункт «Настройка DCOM».
  2. В списке справа найдите проблемное приложение по его 16-ричному коду.
  3. Кликните по нему правой кнопкой и выберите «Свойства».
  4. Перейдите на вкладку «Безопасность» и нажмите «Изменить» в блоке «Разрешения на запуск и активацию».
  5. Выберите пользователя SYSTEM или СИСТЕМА и разрешите ему локальную активацию приложения. Если этого пользователя нет, добавьте его, нажав «Добавить».
  6. Примените изменения и закройте все окна.

После перезагрузки компьютера новые опции активируются. Так как исправить ошибку DistributedCOM 10016 на Windows 10 достаточно один раз, в дальнейшем она перестанет появляться.

Опубликовано 09.06.2017 Обновлено 28.04.2021

Понравилась статья? Поделить с друзьями:
  • Distributedcom код ошибки 10016
  • Distributedcom 10005 windows 10 как исправить ошибку
  • Dism ошибка 267
  • Dism ошибка 2 не удается найти указанный файл
  • Dism ошибка 1920