# 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](https://devblogs.microsoft.com/oldnewthing/20090212-00/?p=19173), 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:

```text
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

1. Drücken Sie `Ctrl + Shift + Esc` und öffnen Sie die Registerkarte **Details**.
2. Klicken Sie mit der rechten Maustaste auf eine Spaltenüberschrift, wählen Sie **Spalten auswählen** und aktivieren Sie **Befehlszeile**.
3. Suchen Sie `dllhost.exe` und lesen Sie die ID nach `/Processid:`.

Oder listen Sie alle Kopien in PowerShell auf:

```powershell
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:

```powershell
(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](/de/windows/blog/disk-cleanup-vs-storage-sense-windows) |

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:

```powershell
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.exe` nicht. 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](/de/windows/blog/windows-processes-explained).

## 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.


Canonical: https://mole.fit/de/windows/blog/com-surrogate-dllhost
