"COM Surrogate は動作を停止しました"

Posted by
ぴろり
Posted at
2013/07/07 19:02
Trackbacks
関連記事 (0)
Post Comment
コメントできます
Category
電算室 カテゴリ
カバーイメージ

 Windows 7 のエクスプローラで、画像ファイルをダブルクリックした場合、かなりの確率で "COM Surrogate は動作を停止しました。" と表示されてイライラしていました。オンラインで解決するオプションは役立たずだし... どうやら、Windows フォト ビューアが原因のようなのだけれど、その対処の覚書き。

このエントリーをはてなブックマークに追加  

 症状としては、ファイル エクスプローラから JPEG や GIF、PNG などの画像ファイルをダブル クリックして、Windows フォト ビューアで開こうとすると、かなりの確率で次のダイアログ(Fig.1 )を表示して画像が表示されないというもの。"オンラインで解決策を確認して(ry"オプションは何度か試しましたが全く解決せず。また、"プログラムを終了"オプションを選択すると、同じダイアログがもう一度表示され、再度"プログラムを終了"オプションを選択しないといけません。エクスプローラが落ちたりするわけでもなく、もう一度同じ画像をダブルクリックすると、今度は表示されたりします(´・ω・`)


Fig.1 エラーのダイアログ

 ネット情報を当たってみると、特に Intel のグラフィック ドライバを更新すると改善されるとの情報がある模様です。ただし、自分の環境は GeForce 8600 GT で、オンボード グラフィクを搭載しておらず、念のため nVidia GeForce ドライバを更新してみるも改善されませんでした。

 次に、「COM Surrogate は動作を停止しました」の解消方法の対処方法2で紹介されていた dllhost.exe を修正する方法を試してみます。ただし、このファイルを普通にコピー&上書きしようとすると、権限の関係で簡単にはできません。

  1. エクスプローラでも可能ですが面倒なのでコマンド プロンプトでガガガっと
  2. [スタート]メニュー→[アクセサリ]と進み"コマンド プロンプト"を探す
  3. "コマンド プロンプト"を右クリックして"管理者として実行"を選択する
# 問題の 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に落ち着きました。

このエントリーをはてなブックマークに追加  


この記事を読んだ人はこんな記事も読んでいます記事リコメンデーションについて

カバー画像:ぬるぬるローションの製作

関連記事/トラックバック

関連記事/トラックバックはまだありません

この記事にトラックバックを送るには?

コメントを投稿する

 
 (必須, 匿名可, 公開, トリップが使えます)
 (必須, 匿名可, 非公開, Gravatar に対応しています)
 (必須)
スパム コメント防止のため「投稿確認」欄に ランダムな数字 CAPTCHAについて を入力してから送信してください。お手数ですがご協力のほど宜しくお願いいたします。