Was ist COM Surrogate und warum läuft es unter Windows
COM Surrogate ist ein normaler Windows-Prozess, dllhost.exe in C:\Windows\System32, der eine Komponente in einem eigenen Prozess ausführt, damit ein Fehler dort das Programm, das sie angefordert hat, nicht mitreißt. Meist sehen Sie ihn, weil der Datei-Explorer Miniaturansichten erzeugt. Mehrere Kopien sind normal, und eine, die beim Durchblättern von Ordnern erscheint und wieder verschwindet, tut nur ihre Arbeit. Eine Kopie, die dauerhaft beschäftigt bleibt, oder eine Datei, die „in COM Surrogate geöffnet“ ist, deutet normalerweise auf einen einzelnen Miniaturansichten-Handler oder eine einzelne defekte Datei hin.
Warum es ihn gibt
Windows-Programme laden oft zusätzlichen Code als COM-Komponente in einer DLL. Stürzt diese DLL im Programm ab, geht das ganze Programm mit. Raymond Chen erklärt im Old New Thing von Microsoft, dass der Explorer beim Extrahieren von Miniaturansichten COM Surrogate verwendet, sodass der Absturz eines Miniaturansichten-Extraktors den Surrogate-Prozess zerstört und nicht den Explorer. Das erklärt auch die alte Meldung „COM Surrogate funktioniert nicht mehr“: Sie bedeutet meist, dass dort eine Komponente abgestürzt ist, und der Explorer hat dank dieses Aufbaus überlebt.
Windows startet ihn, indem es nach einer bestimmten Komponente fragt:
C:\Windows\System32\dllhost.exe /Processid:{AB8902B4-09CA-4BB6-B78D-A8F59079A8D5}
Diese ID schlagen Sie nach, und diese hier ist der Miniaturansichten-Cache von Windows. Andere Programme nutzen denselben Prozess für ihre eigenen Komponenten, weshalb der Name allein wenig darüber sagt, wer hinter einer beschäftigten Kopie steckt.
Herausfinden, welche Komponente es ist
- Drücken Sie
Ctrl + Shift + Escund öffnen Sie die Registerkarte Details. - Klicken Sie mit der rechten Maustaste auf eine Spaltenüberschrift, wählen Sie Spalten auswählen und aktivieren Sie Befehlszeile.
- Suchen Sie
dllhost.exeund lesen Sie die ID nach/Processid:.
Oder listen Sie alle Kopien in PowerShell auf:
Get-CimInstance Win32_Process | Where-Object Name -eq 'dllhost.exe' | Select-Object ProcessId, CommandLine
Schlagen Sie dann die ID nach und ersetzen Sie sie durch Ihre:
(Get-ItemProperty 'Registry::HKEY_CLASSES_ROOT\CLSID\{AB8902B4-09CA-4BB6-B78D-A8F59079A8D5}').'(default)'
Unter Windows 11 gibt diese ID Thumbnail Cache Class Factory for Out of Proc Server zurück. Nennt Ihre ein Produkt eines Drittanbieters, ist dessen Update oder Entfernung die Lösung.
Was Sie bei welchem Symptom tun
| Sie sehen | Wahrscheinliche Ursache | Versuchen Sie |
|---|---|---|
| Hohe CPU- oder Datenträgerlast, solange ein Ordner geöffnet ist | Miniaturansichten werden für viele große Dateien erzeugt | Abwarten, oder die Ansicht dieses Ordners auf Details umstellen |
| Hohe CPU-Last jedes Mal im selben Ordner | Eine beschädigte Mediendatei oder ein Codec, der an ihr scheitert | Dateien stapelweise herausschieben, um sie zu finden, dann den Codec aktualisieren oder entfernen |
| „Die Aktion kann nicht abgeschlossen werden, da die Datei in COM Surrogate geöffnet ist“ | Ein Miniaturansichten-Handler hält die Datei noch fest | Vorschaubereich und Ordner schließen, einige Sekunden warten, erneut versuchen |
| Er stürzt immer wieder ab oder „funktioniert nicht mehr“ | Eine defekte Komponente eines Drittanbieters | ID wie oben lesen, dann diese Software aktualisieren oder entfernen |
| Falsche oder veraltete Miniaturansichten | Ein beschädigter Miniaturansichten-Cache | Miniaturansichten in der Datenträgerbereinigung löschen, siehe Datenträgerbereinigung oder Speicheroptimierung |
Um das Erzeugen von Miniaturansichten ganz abzustellen, öffnen Sie Datei-Explorer › Weitere anzeigen (…) › Optionen › Ansicht und aktivieren Immer Symbole statt Miniaturansichten anzeigen. Das nimmt die Last weg, auf Kosten der Bilder in Ordnern. Es ist auch ein guter Test: Hört das Problem auf, waren die Miniaturansichten die Ursache.
Ist es ein Virus
Die echte Datei ist eine von Microsoft signierte Datei in C:\Windows\System32, mit einer 32-Bit-Kopie in C:\Windows\SysWOW64. Malware kann den Namen borgen, und sie kann auch eigenen Code in einer echten dllhost.exe ausführen, ein korrekter Pfad ist also ein gutes Indiz, aber kein Beweis. Prüfen Sie zuerst die Datei:
Get-AuthenticodeSignature C:\Windows\System32\dllhost.exe
Als Signaturgeber sollte Microsoft Windows stehen. Misstrauisch sollten Sie bei einer dllhost.exe sein, die von irgendwo anders läuft, bei einer Kopie mit viel Netzwerkaktivität oder bei einer Komponenten-ID, die auf eine Datei in AppData oder Temp zeigt. Trifft eines davon zu, führen Sie einen vollständigen Scan mit Microsoft Defender aus.
Was Sie nicht tun sollten
- Löschen oder blockieren Sie
dllhost.exenicht. Windows und viele Programme hängen davon ab, und der System File Checker wertet eine fehlende Kopie als Schaden. - Erwarten Sie nicht, dass das Beenden eine Lösung ist. Eine hängende Kopie zu beenden ist unbedenklich, da eine Miniaturansicht oder ein Dialog womöglich fehlschlägt und Windows bei Bedarf eine neue startet, aber die Ursache bleibt.
- Nehmen Sie ihn nicht in die Ausnahmen der Datenausführungsverhinderung auf, wie ältere Anleitungen vorschlagen. Das senkt einen Schutz, ohne die defekte Komponente zu finden.
- Installieren Sie dafür keinen Registry-Cleaner und keinen „DLL-Fixer“. Keiner von beiden erkennt, welche Komponente versagt.
Wo Mole ins Spiel kommt
Die Statusseite von Mole for Windows fasst COM Surrogate pro Sitzung in einer Zeile zusammen, wobei CPU und Arbeitsspeicher über alle Kopien summiert werden. Warum läuft das? im Menü der Zeile listet die aktivsten Kopien mit PID, CPU und Arbeitsspeicher auf und zeigt die Programmdatei, was sie gestartet hat und, bei einer Kopie, die ohne erhöhte Rechte unter Ihrem eigenen Konto läuft, den Befehl mit seiner /Processid, was Ihnen die Spalten im Task-Manager erspart. Klicken Sie auf eine Kopie, um ihre eigenen Details zu sehen. Da COM Surrogate aus dem Windows-Ordner läuft, markiert Mole ihn als System und bietet kein Beenden oder Sofort beenden an; nutzen Sie den Task-Manager, wenn Sie eine hängende Kopie beenden müssen. Mole repariert keine Miniaturansichten-Handler, und seine Seite Bereinigen hat keine Zeile für den Miniaturansichten-Cache, nehmen Sie dafür also die Datenträgerbereinigung. Für mehr Hintergrund siehe was gängige Windows-Prozesse tun.
Häufige Fragen
Was ist COM Surrogate?
Es ist dllhost.exe, ein Windows-Prozess, der eine Komponente außerhalb des Programms ausführt, das sie nutzt. Ein Absturz dort bleibt dort. Der Datei-Explorer verwendet ihn für Miniaturansichten, und andere Programme verwenden ihn ebenfalls.
Warum gibt es so viele COM-Surrogate-Prozesse?
Jede Kopie führt eine Komponente aus, mehrere gleichzeitig sind also normal. Viele davon beenden sich selbst, sobald sie eine Weile im Leerlauf waren.
Kann ich COM Surrogate beenden?
Ja, eine hängende Kopie zu beenden ist unbedenklich, und Windows startet bei Bedarf eine neue. Kommt dieselbe Kopie immer wieder beschäftigt zurück, suchen Sie ihre Komponenten-ID, statt sie wiederholt zu beenden.
Warum heißt es, eine Datei sei in COM Surrogate geöffnet?
Ein Miniaturansichten-Handler liest diese Datei. Schließen Sie den Ordner und jeden Vorschaubereich, warten Sie einige Sekunden und versuchen Sie es erneut. Passiert es immer wieder mit demselben Dateityp, schalten Sie Immer Symbole statt Miniaturansichten anzeigen ein, um die Ursache zu bestätigen.
Ist COM Surrogate ein Virus?
Die echte Datei nicht. Prüfen Sie, ob sie aus C:\Windows\System32 oder C:\Windows\SysWOW64 läuft und von Microsoft Windows signiert ist, und sehen Sie dann nach, welche Komponente sie ausführt.