Have you ever noticed the COM Surrogate process in the Windows 10 task manager? I was browsing through the list of processes and noticed two of them running on my system.
Understanding the different processes in the task manager can be quite a challenge. I already wrote a detailed post on svchost.exe, which is a process that hosts different Windows services. There can easily be 10 to 15 of these running on your system at any given time.
What is com surrogate?
COM Surrogate is one of those processes where you have no idea of what it does by looking at it. It doesn’t have a custom icon and sits there without providing much information about what it does.
Sometimes, multiple COM Surrogate processes are running at once. If you go to the task manager, you’ll normally see two of them running.
In other words, the COM Surrogate is the I don’t feel good about this code, so I’m going to ask COM to host it in another process. That way, if it crashes, it’s the COM Surrogate sacrificial process that crashes instead of my process. And when it crashes, it just means that Explorer’s worst fears were realized.
In practice, if you get these types of crashes when browsing folders containing video or media files, the problem is most likely a flaky codec.
Is It a Virus?
The COM Surrogate process itself is not a virus and is a normal part of Windows. However, it can be used by malware. For example, Trojan.Poweliks malware uses dllhost.exe processes to do its dirty work. If you see a large number of dllhost.exe processes running and they’re using a noticeable amount of CPU, that could indicate the COM Surrogate process is being abused by a virus or other malicious application.
How to fix COM Surrogate Error
You can’t disable the COM Surrogate process, as it’s a necessary part of Windows. It’s just a container process that’s used to run COM objects that other processes want to run. For example, Windows Explorer (or File Explorer) regularly creates a COM Surrogate process to generate thumbnails when you open a folder. Other programs you use may also create their own COM Surrogate processes. All the dllhost.exe processes on your system were started by another program to do something that the program wants to be done.