Windows 11でプログラムEXEまたはCOMサロゲートのクラッシュを修正する方法

Windows 11 または 10 マシンで「プログラム exe、アプリケーション exe、または COM サロゲートが動作を停止しました」という典型的なエラー メッセージが表示される場合、無駄な努力のように感じることがあります。原因はプログラムに不具合がある場合もあれば、DLL の破損やドライバーの不良など、より深刻なものである場合もあります。いずれにしても、ワークフローが中断されたり、マルウェアに対する不安が生じたりするので、煩わしいものです。厄介なのは、これらのエラーはさまざまな理由で表示され、その理由が必ずしも明らかではないことです。幸いなことに、ほとんどの場合に役立つ一般的な修正方法がいくつかありますが、修正には試行錯誤してセーフ モードで再起動するだけになる場合もあります。これは、Windows が修正を必要以上に困難にする必要があるためです。

Windows 11/10で「COM Surrogateが動作を停止しました」というエラーを修正する方法

エラーの原因は何ですか?

  • 破損したシステムファイルとDLL登録
  • 欠陥のある、または古いデバイスドライバー
  • マルウェアまたはウイルス感染
  • データ実行防止(DEP)設定に関する問題
  • サムネイルキャッシュまたはエクスプローラーの設定に関する問題

これが発生すると、Windowsはプロセス(COMサロゲート)がクラッシュしたというポップアップメッセージを表示することがありますdllhost.exe。このプロセスはいわば犠牲の羊のようなもので、サムネイルのレンダリングやその他のコンポーネントオブジェクトモデルのタスクをメインのエクスプローラーの外で処理します。このプロセスが失敗すると、サムネイルが表示されなくなったり、クラッシュしたりすることがあります。

最初に試すべき基本的な修正

ドライバーとWindowsのアップデートを確認する

不具合のあるドライバーや古いWindowsファイルが原因となって、こうした奇妙なクラッシュが発生することが多いため、これは手っ取り早い解決策となる場合があります。「設定」>「Windows Update」に移動し、「更新プログラムの確認」をクリックしてください。また、「デバイスマネージャー」を開いて(Win + X選択して)、すべてのドライバー(特にグラフィックドライバーとチップセットドライバー)が最新であることを確認してください。最近ドライバーを更新したばかりで、その後エラーが発生するようになった場合は、ロールバックしてみてください。最近の更新がハードウェアと相性が悪い場合もあります。

UACを調整して管理者として実行する

Windowsのユーザーアカウント制御(UAC)によって、特にシステムファイルへのアクセスを必要とするアプリなど、特定のアプリが正常に動作しない場合があります。問題のあるプログラムのショートカットを右クリックし、「プロパティ」を開いて「互換性」タブを開きます。「このプログラムを管理者として実行」にチェックを入れてください。一部のプログラム(Windows 10やWindows 8など)では互換モードを切り替えることで問題が解決する場合がありますが、新しいアプリでは競合が悪化する可能性があります。

マルウェアとウイルスをスキャンする

複数のプログラムでエラーが発生する場合は、マルウェアが原因である可能性があります。信頼できるサードパーティ製のウイルス対策ソフト(MalwarebytesやWindows Defenderなど)をダウンロードし、セーフモードで起動してください(Shiftキーを押しながら再起動> トラブルシューティング > 詳細オプション > スタートアップ設定 > 再起動を選択し、セーフモードを選択)。そこでフルスキャンを実行してください。マルウェアがDLLファイルやWindowsの整合性に干渉し、クラッシュを引き起こす場合があります。

DEP(データ実行防止)設定を確認する

DEPは、プログラムまたはDLLが安全とマークされていない場合にクラッシュを引き起こす可能性のあるセキュリティ機能です。確認するには、以下の手順に従ってください。

  • [スタート]をクリックし、 [この PC]を右クリックして[プロパティ]に移動します。
  • サイドバーから「システムの詳細設定」をクリックします。
  • [詳細設定]タブに移動し、[パフォーマンス]の下にある[設定]をクリックします。
  • データ実行防止タブに切り替えます。

「必須のWindowsプログラムとサービスに対してのみDEPを有効にする」を選択します。より厳密に設定したい場合は、「選択したプログラムとサービスを除くすべてのプログラムとサービスに対してDEPを有効にする」を選択し、以下を追加します。

  • C:\Windows\System32\dllhost.exe
  • C:\Windows\SysWOW64\dllhost.exe

その後再起動してください。DEP を切り替えるだけで安定する場合もあります。

DLLファイルを再登録する

一部の設定では、DLLファイルが登録解除されたり破損したりすることがあります。再登録することで問題が解決する場合があります。管理者権限でコマンドプロンプトを開き(右クリックして「管理者として実行」を選択)、以下のコマンドを実行してください。

regsvr32 vbscript.dll regsvr32 jscript.dll

これらを実行した後、再起動してエラーが解消されるかどうかを確認してください。当てずっぽうですが、DLLの整合性を回復するのに役立つことがよくあります。

問題のあるアプリまたはプロセスを再インストールする

特定のプログラムが頻繁にクラッシュする場合は、完全に削除してから再インストールしてみてください。アップデートや破損したファイルは、そのままでは消えない場合もあります。アプリの公式サポートページを確認するか、インストーラーが最新版かどうかを確認してください。古いインストーラーは問題を引き起こす可能性があります。必要に応じて、こちらのチュートリアルでトラブルシューティング動画をご覧ください。

時々役立つその他のヒント

サムネイルキャッシュをクリアする

COM Surrogateはサムネイルを処理するため、破損したキャッシュファイルがあるとクラッシュする可能性があります。キャッシュをクリアするには、以下の手順に従ってください。

  • ファイルエクスプローラーを開き、[表示] > [オプション]に移動します。
  • [表示]タブに切り替えて、 [常にアイコンを表示し、サムネイルは表示しない] をオンにします。
  • 「適用」をクリックします。次に、「フォルダーオプション」 > 「表示」に移動し、「フォルダーのリセット」をクリックします。
  • エクスプローラーを閉じて再起動してください。後でサムネイルを再度オンにすると、Windows はキャッシュを再構築します。

SFCとDISMでシステムファイルをチェックする

システムファイルが破損している場合、SFC(システムファイルチェッカー)ツールで修復できる場合が多いです。管理者権限でPowerShellまたはコマンドプロンプトを開きます。

sfc /scannow

完了するまでお待ちください。解決できない問題が報告された場合は、以下を実行してください。

DISM /Online /Cleanup-Image /RestoreHealth

少し時間がかかりますが、Windows イメージを復元します。どちらの手順でも、クラッシュの原因となった問題を解決できます。

他に何も効果がなければ

特に頻繁にクラッシュする場合は、アプリをアンインストールして再インストールするだけでも効果がある場合があります。あるいは、どうしても解決できない場合は、クラッシュが発生する前の状態にシステムを復元することで、問題の原因となっている奇妙な破損を解消できる場合があります。

まとめ

  • Windowsとデバイスドライバーを更新する
  • 管理者としてアプリを実行する
  • セーフモードでマルウェアをスキャンする
  • DEP設定を調整する
  • DLLファイルを再登録する
  • サムネイルキャッシュをクリアする
  • SFCとDISMでシステムファイルを検証する
  • 問題のあるアプリを再インストールするか、必要に応じてシステムの復元を実行します。

まとめ

COMサロゲートの問題やアプリケーションのクラッシュは、ドライバの不具合からマルウェアまで、さまざまな原因から発生する可能性があるため、非常にイライラさせられます。しかし、多くの場合、排除法で解決できます。ほとんどの場合、特別なことは必要なく、設定を少し調べ、コマンドラインを数回実行し、場合によっては再インストールするだけで済みます。この記事が少しでも参考になり、頭痛の種から解放されることを願っています。少しでもお役に立てれば幸いです。私の環境ではいくつかの設定でうまくいきましたので、皆さんの環境でも同じようにうまくいくかもしれません。