
DCOMとTrustedInstaller
当方のWindowsはイベントID10016、DistributedCOM (DCOM)のログが頻繁に記録されます。
DCOMコンポーネントは数字と文字の組み合わせで構成するアプリケーションID (APPID) で管理されていますが、一部は RuntimeBroker, ShellServiceHostのように識別しやすい名前が付与されています。
DCOMエラーは、Windows に付属するシステムツールを利用して修正を試みることができますが、レジストリを触るのでリスクが伴います。
ExecTI
リスクを軽減してDCOMエラーを修正する方法として「ExecTI」という名前のソフトウェアを利用する方法があるので具体例を紹介します。
DCOMエラーを修正する手順の概要
- イベントビューアー
- レジストリエディター
- コンポーネントサービス
- ExecTI(フリーソフトウェア) ← この記事
- レジストリエディターでAPPIDの所有者をAdministratorsに変更する。
- コンポーネントサービスでAPPIDのセキュリティ設定を変更する。
- レジストリエディターでAPPIDの所有者を元に戻す(TrustedInstaller)。
- 以上
- ExecTI からコンポーネントサービスを起動する。
- コンポーネントサービスでAPPIDのセキュリティ設定を変更する。
- 以上
ソフトウェア情報
ExecTI を使用する方法

ExecTI は、TrustedInstaller としてアプリケーションを起動するので、ExecTI を利用すると「所有者:TrustedInstaller」のファイルやレジストリを直接編集することができます。
RuntimeBroker などのDCOMアプリケーションは、所有者が「TrustedInstaller」なので、ExecTI からコンポーネントサービスを起動するとDCOMアプリケーションを直接編集できるようになります。
- イベントビューアーで修正するAPPIDを確認する。
- ExecTI からコンポーネントサービスを起動する。
- コンポーネントサービスでAPPIDのセキュリティ設定を変更する。
- PCを再起動する。
- 以上
ExecTIは「ファイル名を指定して実行」のようなインタフェースを持っています。
Openと書かれた文字の横のボックスにアプリケーション名を入力してOKをクリックします。
ExecTIから起動したプログラムの外見は同じなので見分けはつきません。

- regedit: レジストリエディター
- comexp.msc: コンポーネントサービス
まとめ


- ExecTI は TrustedInstaller としてプログラムを起動することができるソフトウェアです。
- ExecTI からコンポーネントサービスを起動すると、DCOMアプリケーションを直接変更できるようになるので、レジストリエディタが不要になる。
- ExecTI は見た目はシンプルだが TrustedInstaller 特権を操作できる強力なツールのため、起動するアプリケーションは限定したほうがよいです。
- 10016イベントは、Microsoftコンポーネントが必要なアクセス許可なしで DCOMコンポーネントにアクセスしたときに記録されます。この動作は設計通りのため無視することができます。(出典)
- ExecTI | SC2
![[EventId 10016] コンポーネントサービスとExecTIでPerAppRuntimeBrokerのアクセス権を変更する方法](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiN6dqRB2WfXdfAKB10FDjdJ2p22frW5ahcNd07xf7-Dux9uDfiM1RGf7v6iO-QRooVfr3FsZNkpRKcO8Or0JcmQeJ5ud_ns3dfE7tQwoVZB2bsZbTKUaxVjG_CqSTho3hre6kT7T4mOBGz/w1200-h630-p-k-no-nu/redyellow_317x.gif)
[EventId 10016] コンポーネントサービスとExecTIでPerAppRuntimeBrokerのアクセス権を変更する方法
DCOMエラーの修復方法を紹介する記事。コンポーネントサービスとExecTIというツールを使ってPerAppRuntimeBrokerのアクセス権を変更する手順を説明する。Windows 10 v1809以前ではRuntimeBrokerという名前だった。
このサイトを検索 | Search this site