# Qu’est-ce que COM Surrogate et pourquoi tourne-t-il sous Windows

COM Surrogate est un processus Windows normal, `dllhost.exe` dans `C:\Windows\System32`, qui exécute un composant dans un processus séparé pour qu’une défaillance n’entraîne pas le programme qui l’a demandé. La raison la plus courante de le voir est la génération de miniatures par l’Explorateur de fichiers. Plusieurs copies sont normales, et une copie qui apparaît et disparaît pendant que vous parcourez des dossiers fait son travail. Une copie qui reste occupée, ou un fichier « ouvert dans COM Surrogate », désigne normalement un gestionnaire de miniatures ou un fichier défectueux.

## Pourquoi il existe

Les programmes Windows chargent souvent du code supplémentaire sous forme de composant COM dans une DLL. Si cette DLL plante dans le programme, tout le programme tombe avec elle. Raymond Chen explique sur [l’Old New Thing de Microsoft](https://devblogs.microsoft.com/oldnewthing/20090212-00/?p=19173) que l’Explorateur utilise COM Surrogate pour extraire les miniatures, de sorte qu’un plantage dans un extracteur de miniatures détruit le processus de substitution plutôt que l’Explorateur. Cela explique aussi l’ancien message « COM Surrogate a cessé de fonctionner » : il signifie en général qu’un composant a planté là-dedans, et que l’Explorateur a survécu grâce à cette conception.

Windows le démarre en demandant un composant précis :

```text
C:\Windows\System32\dllhost.exe /Processid:{AB8902B4-09CA-4BB6-B78D-A8F59079A8D5}
```

C’est cet identifiant qu’il faut rechercher, et celui-ci correspond au cache de miniatures de Windows. D’autres programmes utilisent le même processus pour leurs propres composants, c’est pourquoi le nom seul dit peu de choses sur ce qui se cache derrière une copie occupée.

## Trouver de quel composant il s’agit

1. Appuyez sur `Ctrl + Shift + Esc` et ouvrez l’onglet **Détails**.
2. Faites un clic droit sur un en-tête de colonne, choisissez **Sélectionner des colonnes** et cochez **Ligne de commande**.
3. Repérez `dllhost.exe` et lisez l’identifiant après `/Processid:`.

Ou listez toutes les copies depuis PowerShell :

```powershell
Get-CimInstance Win32_Process | Where-Object Name -eq 'dllhost.exe' | Select-Object ProcessId, CommandLine
```

Recherchez ensuite l’identifiant, en remplaçant celui-ci par le vôtre :

```powershell
(Get-ItemProperty 'Registry::HKEY_CLASSES_ROOT\CLSID\{AB8902B4-09CA-4BB6-B78D-A8F59079A8D5}').'(default)'
```

Sous Windows 11, celui-ci renvoie `Thumbnail Cache Class Factory for Out of Proc Server`. Si le vôtre désigne un produit tiers, la solution est la mise à jour ou la désinstallation de ce produit.

## Que faire selon le symptôme

| Vous voyez | Cause probable | Essayez |
| --- | --- | --- |
| Processeur ou disque très sollicité quand un dossier est ouvert | Génération de miniatures pour de nombreux gros fichiers | Patientez, ou passez l’affichage de ce dossier en **Détails** |
| Processeur très sollicité dans le même dossier à chaque fois | Un fichier multimédia endommagé, ou un codec qui échoue dessus | Sortez les fichiers par lots pour le trouver, puis mettez à jour ou retirez le pack de codecs |
| « L’action ne peut pas être terminée car le fichier est ouvert dans COM Surrogate » | Un gestionnaire de miniatures retient encore ce fichier | Fermez le volet d’aperçu et le dossier, attendez quelques secondes, réessayez |
| Il plante sans cesse ou « a cessé de fonctionner » | Un composant tiers défectueux | Lisez l’identifiant comme ci-dessus, puis mettez à jour ou retirez ce logiciel |
| Miniatures fausses ou périmées | Un cache de miniatures endommagé | Effacez **Miniatures** dans le Nettoyage de disque, voir [Nettoyage de disque ou Assistant Stockage](/fr/windows/blog/disk-cleanup-vs-storage-sense-windows) |

Pour ne plus générer de miniatures du tout, ouvrez **Explorateur de fichiers › Afficher plus (…) › Options › Affichage** et cochez **Toujours afficher les icônes, jamais les miniatures**. Cela soulage la machine au prix des aperçus d’images dans les dossiers. C’est aussi un bon test : si le problème disparaît, les miniatures en étaient la cause.

## Est-ce un virus

Le vrai est un fichier signé par Microsoft dans `C:\Windows\System32`, avec une copie 32 bits dans `C:\Windows\SysWOW64`. Un logiciel malveillant peut emprunter le nom, et peut aussi exécuter son propre code dans un `dllhost.exe` authentique, donc un chemin correct est un bon indice mais pas une preuve. Vérifiez d’abord le fichier :

```powershell
Get-AuthenticodeSignature C:\Windows\System32\dllhost.exe
```

Le signataire doit être `Microsoft Windows`. Méfiez-vous d’un `dllhost.exe` lancé depuis un autre endroit, d’une copie à forte activité réseau, ou d’un identifiant de composant qui pointe vers un fichier dans `AppData` ou `Temp`. Si l’un de ces cas correspond, lancez une analyse complète avec Microsoft Defender.

## Ce qu’il ne faut pas faire

- Ne supprimez pas `dllhost.exe` et ne le bloquez pas. Windows et de nombreux programmes en dépendent, et le Vérificateur des fichiers système considérera une copie manquante comme un dommage.
- Ne comptez pas sur sa fermeture comme solution. Terminer une copie bloquée est sans danger, car une miniature ou une boîte de dialogue peut échouer et Windows en démarre une nouvelle quand il le faut, mais la cause reste là.
- Ne l’ajoutez pas aux exceptions de la Prévention de l’exécution des données, comme le suggèrent de vieux guides. Cela abaisse une protection sans trouver le composant défectueux.
- N’installez pas de nettoyeur de registre ni de « réparateur de DLL » pour cela. Aucun ne dit quel composant échoue.

## La place de Mole

La page État de Mole for Windows regroupe COM Surrogate en une ligne par session, avec le processeur et la mémoire additionnés sur toutes ses copies. **Pourquoi tourne-t-il ?** dans le menu de la ligne liste les copies les plus gourmandes avec leur PID, leur processeur et leur mémoire, et affiche l’**Exécutable**, ce qui l’a démarré et, pour une copie exécutée sans élévation sous votre propre compte, la **Commande** avec son `/Processid`, ce qui vous évite les colonnes du Gestionnaire des tâches. Cliquez sur une copie pour voir ses détails. Comme COM Surrogate s’exécute depuis le dossier Windows, Mole le marque comme Système et ne propose ni **Terminer** ni **Forcer à quitter** : utilisez le Gestionnaire des tâches si vous devez arrêter une copie bloquée. Mole ne répare pas les gestionnaires de miniatures, et sa page Nettoyer n’a aucune ligne pour le cache de miniatures, utilisez donc le Nettoyage de disque pour cela. Pour un contexte plus large, voir [ce que font les processus Windows courants](/fr/windows/blog/windows-processes-explained).

## FAQ

### Qu’est-ce que COM Surrogate ?

C’est `dllhost.exe`, un processus Windows qui héberge un composant en dehors du programme qui l’utilise. Un plantage y reste confiné. L’Explorateur de fichiers l’utilise pour les miniatures, et d’autres programmes aussi.

### Pourquoi y a-t-il autant de processus COM Surrogate ?

Chaque copie héberge un composant, donc plusieurs à la fois est normal. Beaucoup se terminent d’elles-mêmes après une période d’inactivité.

### Puis-je terminer COM Surrogate ?

Oui, terminer une copie bloquée est sans danger, et Windows en démarre une nouvelle quand il en a besoin. Si la même copie redevient sans cesse occupée, cherchez l’identifiant de son composant plutôt que de la terminer à répétition.

### Pourquoi est-il indiqué qu’un fichier est ouvert dans COM Surrogate ?

Un gestionnaire de miniatures lit ce fichier. Fermez le dossier et tout volet d’aperçu, attendez quelques secondes et réessayez. Si cela se reproduit avec le même type de fichier, activez **Toujours afficher les icônes, jamais les miniatures** pour confirmer la cause.

### COM Surrogate est-il un virus ?

Le vrai fichier n’en est pas un. Vérifiez qu’il s’exécute depuis `C:\Windows\System32` ou `C:\Windows\SysWOW64` et qu’il est signé par Microsoft Windows, puis regardez quel composant il héberge.


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