Windows 7 のエクスプローラで、画像ファイルをダブルクリックした場合、かなりの確率で "COM Surrogate は動作を停止しました。" と表示されてイライラしていました。オンラインで解決するオプションは役立たずだし... どうやら、Windows フォト ビューアが原因のようなのだけれど、その対処の覚書き。
症状としては、ファイル エクスプローラから JPEG や GIF、PNG などの画像ファイルをダブル クリックして、Windows フォト ビューアで開こうとすると、かなりの確率で次のダイアログ(Fig.1 )を表示して画像が表示されないというもの。"オンラインで解決策を確認して(ry"オプションは何度か試しましたが全く解決せず。また、"プログラムを終了"オプションを選択すると、同じダイアログがもう一度表示され、再度"プログラムを終了"オプションを選択しないといけません。エクスプローラが落ちたりするわけでもなく、もう一度同じ画像をダブルクリックすると、今度は表示されたりします(´・ω・`)
ネット情報を当たってみると、特に Intel のグラフィック ドライバを更新すると改善されるとの情報がある模様です。ただし、自分の環境は GeForce 8600 GT で、オンボード グラフィクを搭載しておらず、念のため nVidia GeForce ドライバを更新してみるも改善されませんでした。
次に、「COM Surrogate は動作を停止しました」の解消方法の対処方法2で紹介されていた dllhost.exe
を修正する方法を試してみます。ただし、このファイルを普通にコピー&上書きしようとすると、権限の関係で簡単にはできません。
# 問題の dllhost.exe があるディレクトリに移動 cd %windir%\system32 # 所有権を取得し、アクセス権限を変更 takeown /f dllhost.exe cacls.exe dllhost.exe /G Everyone:F # バックアップ コピーを作成しておく copy dllhost.exe dllhost.exe.bak # 置き換える dllhost.exe があるディレクトリに移動 cd %windir%\SysWOW64 # 所有権を取得し、アクセス権限を変更 takeown /f dllhost.exe cacls.exe dllhost.exe /G Everyone:F # 稼働中の dllhost.exe プロセスを強制終了させる taskkill /im dllhost.exe /f # dllhost.exe を上書きコピー copy /y dllhost.exe ..\system32
以上で dllhost.exe を更新することで、二回表示されていたエラー ダイアログが一回のみ表示されるようになりましたが、残念なことに問題は完治しませんでした。フォト ビューアそのものをなんとかしないとダメなようです。
最終的には、フリーの画像ビューアを別途インストールし、画像ファイルの関連付けを変更することで逃げました。基本的に画像を閲覧したいだけなので、レタッチ機能などを含まない軽いものがお勧めです。また、キーボードで前後の画像に移動できるものとして、Vieasに落ち着きました。