System Event Notificationサービスに接続できませんでした

Windowsの起動時にタイトルのようなエラーが表示され、Aeroスタイルが適用されずクラシックモードで起動してしまうという現象があり、検索してみると多くの人が悩まされているようです。
解決法としていくつかの方法が紹介されていますが、根本的に「これで解決」という答えは見つかっていないようです。
 
自分もこの現象に遭遇していろいろ検証してみたので、現時点での推論を書きます。
先に結論を書きます。
 
この現象に共通している原因は、System Notification Serviceの起動中、何らかのエラーが発生したことにより起動が失敗したことです。
そのためこのサービスに依存するThemesサービスが起動できず、Aeroが適用されなくなります。
問題はそのエラーが起きる原因ですが、おそらくこれはひとつだけではないです。
その原因を特定して取り除けば解決するわけですが、どうもそれがケース・バイ・ケースのようです。
 
今までに検索してヒットした情報には以下のようなものがあります。
(1) Winsockモジュールの設定パラメータが何らかの原因で不正な状態になっている
 この場合の解決方法は、コマンドプロンプトで netsh winsock reset を実行することでパラメータのリセットを行い、Windowsを再起動する、というものです。
(2) Windowsの修正プログラムKB2670838の不具合
 この場合の解決方法は、KB2670838KB2834140の再インストールです。
 → 参考
(3) ランタイムパッケージの不具合
 1例だけ報告があり、Visual C++ 2013 Redistributableのインストールが原因になっていた、とされています。
 この場合の解決方法は該当パッケージのアンインストールになりますが、これには大きな問題があり、このパッケージに依存するアプリケーション・プログラムがすべて動かなくなります。
 基本的にランタイムパッケージを単独でアンインストールするのは推奨されません。
 
自分のケースでは(1)と(2)についてはすでに試しましたが、解決できませんでした。
(3)については複数のランタイムライブラリが存在し、どれが原因となっているかが特定できないことと、単独でアンインストールした場合のアプリケーションへの影響を考えると実行は難しいので断念しました。
起動するたびに現象が発生するときとしないときがあり、たとえば(1)の方法を実行して再起動して、現象が発生しなかったので「なおった」と思っていたら、次回起動したときにまた発生して、根本的に解決したわけではなかった、と判明したりしました。
また、現象発生後に再起動を行うと、タスクバーやアイコンが消えて壁紙だけになった状態で長時間シャットダウン動作が停滞します。これをフリーズしたと勘違いして電源強制切断してしまった例も見受けられましたが、ディスクアクセスランプが点滅しており、バックグラウンドでは処理が継続しているので、10~15分程度待っていれば最終的に再起動されます。なぜこうなるのかは不明ですが、何か現象と関係がありそうです。
 
現象発生時前後のあやしいイベントログを抽出すると、こういうのがありました。 
 
イメージ 1
 
イメージ 2
 
イメージ 3
 
どうもATIのディスプレイドライバに問題があるようで、調べてみると英文ですが以下のようなやりとりがありました。
 
 
Windows起動に時間がかかる、という点もよく似ています。
ここには「最新のドライバに入れ直したら解決した」という報告もありますが、いっぽうで「買ってきたばかりの新品のPCでも出てるんだけど」という報告もあるので、原因と解決法は特定されていないようですね。
自分の環境でもメーカー提供の最新のドライバーをインストールしたところ、上記のイベントは出なくなったようです。今後、System Event Notification サービスのエラーがどうなるか、しばらく様子を見てみたいと思います。 
 
以上、現時点での情報でした。何かのご参考になれば幸いです。
 
(11/24追記)
その後の経過ですが、以前に比べて頻度は下がったものの、やはりまだ現象そのものは発生することもある状態が続いています。
ただ、現象発生してもThemesサービスを再起動するだけで回復できるようになったので、だいぶマシになりました。
ここまでの経緯を踏まえると、おそらくサービス起動時に何かの処理に時間がかかりすぎてタイムアウトしている可能性が高いように思われます。それがドライバーのアップデートにより起動時のシステム負荷が軽減されたことで発生頻度が下がったのではないかと推測しています。

(12/09追記)
Themesサービスの再起動がたびたびでは手間になるので、現象が発生してAeroテーマが適用されていないときだけ自動的にサービス再起動するプログラムを作りました。
同じ問題で困っている方のお役に立てればと思いますので、こちらで公開します。

 [ダウンロード] RebootThemeSvc ver.1.0.0

使い方などの詳細は同梱のReadmeをお読みください。

この記事へのコメント