Windows 11/10で「COMサロゲートは動作を停止しました」エラーが出る原因と対処法
Windows 11/10/8/7でプログラムを実行中に、「Program.exeまたはCOMサロゲートは動作を停止しました。問題により、プログラムが正しく動作しなくなりました。プログラムを終了し、解決策が利用可能な場合は通知いたします」というエラーメッセージが表示されることがあります。この記事では、このエラーの解決に役立つトラブルシューティングの手順をご紹介します。
COMサロゲートとは何か
dllhost.exeプロセスはCOMサロゲート(COM Surrogate)という名前で知られており、System32フォルダ内に配置されています。
COMとはComponent Object Model(コンポーネント オブジェクト モデル)の略です。このプロセスの公式説明には以下のように記載されています。
Component Object Model(COM)+ベースのコンポーネントの構成と追跡を管理します。このサービスを停止すると、ほとんどのCOM+ベースのコンポーネントが正常に機能しなくなります。このサービスを無効にすると、明示的に依存しているサービスは起動できなくなります。
さらにMicrosoftは次のように説明しています。
COMサロゲートは、要求元のプロセスの外部で実行されるCOMオブジェクトのための「犠牲となるプロセス」です。例えば、エクスプローラーはサムネイルを抽出する際にCOMサロゲートを使用します。サムネイル表示が有効なフォルダを開くと、エクスプローラーはCOMサロゲートを起動し、フォルダ内のドキュメントのサムネイル生成を任せます。これは、サムネイル抽出ツールの安定性に難があることが多いため、エクスプローラーがそれらを信用しないよう学習した結果です。信頼性の低いコードをメインのエクスプローラープロセスから切り離すことによるパフォーマンスへの影響を受け入れる代わりに、信頼性の向上を得ています。仮にサムネイル抽出ツールがクラッシュしても、落ちるのはCOMサロゲートプロセスであり、エクスプローラー本体ではありません。
COMサロゲートが動作を停止したときの対処法
このエラーの原因としては、破損したプログラム、UAC設定、マルウェア感染、DEP設定などが考えられます。最近デバイスドライバーを更新した場合は、ロールバックして改善するか確認してみてください。また、問題が最近発生し始めたのであれば、システムの復元を試すのも有効です。ファイルエクスプローラーのオプションでサムネイル表示を無効にすることでも改善が期待できます。それでも解決しない場合は、以下の対処法を順番に試してください。
1. UAC設定を確認する
Windows 10/8/7には、セキュリティ上の理由からプログラムによる管理者アクセスを制限するユーザーアカウント制御(UAC)があります。一部のプログラムは管理者権限がないと正しく動作しないため、この問題を回避するには、実行ファイルを右クリックして「管理者として実行」を選択します。
常にそのプログラムを管理者として実行したい場合は、ショートカットを右クリックして「プロパティ」を開き、「互換性」タブをクリックします。
次に「管理者としてこのプログラムを実行する」にチェックを入れ、「適用」→「OK」をクリックします。
また、一部のプログラムはWindows 11/10との完全な互換性がないため、互換モードを有効にする必要がある場合もあります。
ただし、プログラムがWindows 11/10に対応している場合は、互換モードを有効にしないでください。すでに有効になっている場合はチェックを外しましょう。互換モードが原因でプログラムがクラッシュすることもあります。
2. マルウェア感染を疑う
複数のプログラムで同じエラーが発生している場合は、Windowsパソコンがマルウェアに感染している可能性があります。その場合は、信頼できるサードパーティ製のスタンドアロン型ウイルス対策ソフトをダウンロードし、PCをスキャンしてください。
システムをセーフモードで再起動し、フルスキャンを実行することをおすすめします。
3. DEP設定を変更する
DEP(データ実行防止)の設定が原因で、プログラムがクラッシュすることがあります。設定を確認するには、以下の手順に従ってください。
- 「スタート」ボタンをクリックし、「コンピューター」を右クリックして「プロパティ」を選択します。
- 「システムの詳細設定」をクリックします。
- 「詳細設定」タブを開き、「パフォーマンス」セクションの「設定」をクリックします。
- 「データ実行防止」タブをクリックします。
- 「重要なWindowsプログラムおよびサービスのみについてDEPを有効にする」が選択されていることを確認します。
- 「適用」→「OK」をクリックし、システムを再起動します。
または、「選択したものを除くすべてのプログラムおよびサービスについてDEPを有効にする」を選択し、「追加」をクリックして以下のファイルを登録する方法もあります。
- 32ビットシステムの場合:C:\Windows\System32\dllhost.exe
- 64ビットシステムの場合:C:\Windows\SysWOW64\dllhost.exe
「適用」→「OK」をクリックして完了です。
4. DLLファイルを再登録する
管理者権限でコマンドプロンプトを開き、以下のコマンドを順に実行します。
regsvr32 vbscript.dll
regsvr32 jscript.dll
これで問題が解決するかどうか確認してください。
これらの手順でも解決しない場合は、問題を引き起こしている特定のアプリケーションを再インストールしてみてください。
Windowsコンポーネントで問題が発生している場合は、管理者権限のコマンドプロンプトで「SFC /SCANNOW」コマンドを実行し、システムファイルの整合性をチェックしてみましょう。
ヒント:「COMサロゲートでファイルが開いているため、操作を完了できません」というメッセージが表示される場合は、ファイルやフォルダのハンドルを掴んでいるプロセスを確認し、エクスプローラーの再起動などを試みると解決することがあります。
-
「COM Surrogateは動作を停止しました」エラーの解決方法|原因と6つの対処法を徹底解説
写真を見ているときや動画を視聴しているときに、突然「COM Surrogate has stopped working(COM Surrogateは動作を停止しました)」というエラーメッセージが表示されて困っていませんか?実はこのエラーは多くのユーザーが経験するものであり、必ず解決策が存在します。本記事では、COMサロゲートエラーの仕組みと、具体的な修正方法を6つ詳しく解説していきます。 COMサロゲートとは何か?なぜ頻繁にクラッシュするのか? dllhost.exeというプロセスは「COM Surrogate(COMサロゲート)」という名前で知られています。通常、その存在に気づくことはほとん
-
Windows 10で「.exeは動作を停止しました」エラーを解決する7つの対処法
パソコンでプログラムを起動しようとした際に、「.exeは動作を停止しました(.EXE Has Stopped Working)」というエラーメッセージが表示され、アプリが実行できなくて困っていませんか?このエラーは、プログラムの中核となる実行可能ファイル(EXE)が正しく機能できないときに発生します。発生原因はひとつに特定できず、複数の要因が絡み合っていることも珍しくありません。考えられる主な原因は以下の通りです。 システムファイルの破損 互換性設定の問題 マルウェアなど悪意のあるソフトウェアへの感染 ドライバーの旧式化や不足 一時ファイル・ジャンクファイルの蓄積 Windows 10で「