2017.04.10: 情報が古くなっている個所を修正
「COM Surrogate は動作を停止しました」というエラーが頻繁に発生する場合の対処方法を紹介したページです。
「COM Surrogate は動作を停止しました」のエラー画面
このエラーが発生する際、デスクトップが一瞬暗転したり、デスクトップアイコンが再描画される、などの症状が発生する場合もあります。
つまり、デスクトップ関連のタスクやアプリに競合が発生し、頻繁に再読み込みがかかっている状態と考えられます。
主な原因と対処方法
このエラーは主に、「エクスプローラでフォルダを開いた」際に、「上手く処理できない画像や映像が入っている / フォトビューアーで画像を開いた際に正しく処理できない」という場合によく発生します。
主なエラーの原因
- MacType など、フォントを変更するツールを入れている
- エクスプローラーのカスタマイズツールを入れている
- サムネイル表示ツールを入れている
- 古い動画コーデックと新しい動画コーデックを 入れ、両方を有効にしている、さらにその状態でコーデックパックも利用している、もしくは別のスプリッタを利用している。
上記のようなツール・コーデックが、OSアップデートまたは別ツールのインストール、ビデオカードドライバの更新などにより相性が悪くなり問題が発生していると思われます。
問題の発生しているツールを最新版に更新・もしくは削除すると解消するケースがほとんどです。
その他の対処方法
- ビデオカードドライバを更新してみる。
- ウィルスチェックをしてみる。
- その他 デスクトップカスタマイズ関連の怪しいソフトをアンインストールしてみる
- sfc /scannow を実行してみる
以下、やや古い (Windows7 / 2012年頃の) お話
自分のPC環境の話
私のPC環境では、2012年の3月頃にこの問題が発生するようになり、同年6月から大量発生するようになりました。
3DCG制作中に動画ファイルを大量に作成していると、以下の2パターンでどうにもならない位に「COM Surrogate は動作を停止しました」エラーが頻発するようになりました。
- 「64bit版Lagarith で作成した動画」と「32bit 版Lagarith で作成した動画」を同じフォルダに置く
- 「64bit版Lagarith で作成した動画」と「h264 mp4動画」または「h264 m2ts動画」を同じフォルダに置く
この時点で「Lagarithが怪しいな、」とおおよその見当は付いましたが、Lagarith Lossless Codecコーデックの再インストールや各種コーデック・スプリッターの再インストールではどうにもならず、「dllhost.exeをコピー(ページ内 次項で解説)」する手段でまずは一時しのぎを行いました。
dllhost.exeをコピー後
▲スプリッタのいくつかの設定がリセットされていた。
- Lagarith や x264 losslessの動画再生時、LAV Filterを無効に設定した筈なのに、勝手に有効設定に戻されてしまっていました。
- 再設定しなおし。(手順は Lagarith losslessや x264 lossless、Mpeg2がMPC-HCで再生出来ない場合の対処方法 に記載)
- ざっくり書くと、当時利用していたコーデックパック (Win7Codecs) と Lagarithコーデックの相性が悪くなっていたようです。dllhost.exe もしくは Win7Codecs をインストールしたタイミングで問題が発生したものと思われます。
dllhost.exeをコピーする
※この方法ではデスクトップ再描画の問題は回避できません。
※「COM Surrogate は動作を停止しました」のエラー回避のみ可能です。
全てのPC環境で有効な技ではありません。
64bit版 Windows7用の[C:\Windows\System32]フォルダに[dllhost.exe]が存在していた場合に有効です。
(設計の古いソフトをインストールした場合などに発生するっぽい?)
以下ページを参考にして直った。結構危ない技なので自己責任で。
windows7 64bit版で画像ファイル(jpg等)をwindowsフォトビューアーで開くエラーが出る - 佐久間 ゆきの暇つぶし
- C:\Windows\System32の[dllhost.exe]をリネーム・バックアップする(保険)
- C:\Windows\SysWOW64の[dllhost.exe]を、
C:\Windows\System32にコピーする。 - PCを再起動する
(再起動しなくても、動画再生可能・エクスプローラーは落ちなくなった。
しかし再起動するまでは、サムネイル表示は正常に作動しなかった)
- 注意
Windows7 のシステムフォルダ内のファイルを変更するには、該当ファイル(今回の場合はSystem32、SysWOW64それぞれの[dllhost.exe])のファイルの所有権を変更する必要があります。
システムファイルの所有者変更手順は以下
「このファイルを変更するには、TrustedInstallerからアクセス許可を得る必要があります」と出て、ファイルの変更が出来ない場合
- さらにここで注意
・この手順は、管理者権限を持ったユーザーでログオンして行う事。
・できればAdministratorでログオンして操作する。
・エクスプローラーを複数起動しない。
一つのエクスプローラーで操作する。
・一つのファイルの所有者を変更したら、
エクスプローラを一旦終了させる。
・連続して所有者を変更するとエラーが出る。
- さらにここで注意
- 注意
このページの情報は以上です。
※さらに古い情報
IE9 リリース直後、この問題は少数のPC環境でこの問題が発生する場合もありました。
この場合、ブラウザをIE8に戻す事でも問題を回避することが可能でした。
※ IE9でページ移動する際にデスクトップが再描画される問題なども、これで回避できました。