COM Surrogate is the dllhost.exe process. To describe it briefly, it is a Sacrificial process for a COM object running outside the process that requested it. To extract thumbnails, the Explorer uses the COM Surrogate. By which I mean that if a folder has its thumbnails enabled, the Explorer will utilize the COM Surrogate to compute the thumbnails for all the documents in that folder. Thumbnail Extractors have a poor track record for stability, which is why the Explorer does not trust them. While moving the dodgy bits of code out of the main Explorer process, in exchange for the improved reliability, Explorer absorbs the performance penalty. Now when the thumbnail extractor crashes, the COM Surrogate process destroys with the crash instead of the Explorer.
One doesn’t even notice its existence until it crashes. When the COM Surrogate stops, you see a pop-up window when you’re viewing photos or watching videos, and it most likely takes place because of a flaky codec.
But there’s nothing to worry about, as most users come across this error. The following methods can help you fix this error.
Method 1: Update Codecs
The COM Surrogate problem is related to media, like viewing photos and videos. This is why updating the codec can be a very suitable solution, and it can help you fix the COM Surrogate error. For this to be done, you have to download the latest version of codec for your Windows.
However, if you have DivX or Nero already installed, then all you have to do is update them so that you get the latest version. It is also possible that they don’t work properly. In this case, you would have to uninstall and install them again.
Once you’ve upgraded DivX and Nero, you might not face the problem. But, if you’re still facing the problem then you can try renaming the file. Change the file name from C:\Program Files\Common Files\Ahead\DSFilter\NeVideo.ax to NeVideo.ax.bak. However, to break Nero Showtime, you will also have to rename NeVideoHD.ax. Change that to NeVideoHD.bak.
Method 2: Disable Thumbnail
If you don’t want to get into many complex methods, but want to fix the COM Surrogate has stopped working error right away, then you can try disabling Thumbnail previews. However, you should know that this isn’t the optimal solution to fix this error. This may solve the problem only temporarily.
Method 3: Re-register DLLs
Another possible solution of fixing the COM Surrogate error is re-registering a few DLLs. In order to do that, follow these steps:
- Move the arrow to the window button and right click on it. From the available options select Command Prompt (Admin).
- A cmd window will open. In there, type the following commands. Do remember to press enter after each command.
This can help you fix the COM Surrogate has stopped working error. However, if that doesn’t work too, continue reading and try the other available methods.
Method 4: Check Disk For Errors
Checking disk utility can help you fix the COM Surrogate error. To perform this, you have to use the CHKDSK command. This command will display a status report that can help correct any errors found on the disk.
It can be run as a command-line application or a graphical user interface.
How to run CHKDSK with command prompt:
- Move the cursor to the windows button and right click on it. From the available options select Command Prompt (Admin).
- A cmd window will open. In that window type CHKDSK /f /r and press enter.
- Then a question will appear: Would you like to schedule this volume to be checked the next time the system restarts? (Y/N). When you see this type Y and press enter.
- If you require further useful commands, then type CHKDSK /? in the cmd window. All the commands related with CHKDSK will appear.
How to run CHKDSK with the graphical user interface:
Open windows and move the cursor to the drive you want to run check disk on. Right, click on that drive and select properties from the available options.
- The properties window will open. In this window, click on tools. After clicking, you will see the heading Error Checking. Under that, click on Check button.
However, if the disk you want to check is being used by the system processes, the Check Disk won’t start. But don’t worry; the disk check utility will automatically detect this and ask if you want to schedule the disk check on the next reboot. Once the option appears, click yes and then reboot the system to complete the Check Disk. Remember not to press any key when you restart your PC so that the Check Disk can run. The time it takes depends upon your hard disk capacity – it can even take up to an hour, so wait for the process to finish.
Method 5: Disable DEP For dllhost.exe
For most users, this method fixes the problem. Follow these steps to disable DEP for dllhost.exe:
- After you’ve turned off DEP, click Add.
- The Add pop-up box will open. In this, select the following executable files:
C:\Windows\System32\dllhost.exe if you’re using a 32-bit system.
C:\Windows\SysWOW64\dllhost.exe if you’re using a 62-bit system.
- Once you’ve selected the dllhost file, click open. When you do that you will see this:
This will fix the COM Surrogate has stopped working error.
Method 6: Display / Printer Driver
It is also possible that recent updates of display drivers are causing this error. If this is the case, you can rollback the drivers to fix the issue.
However, perform this method only if you started seeing the error after updating the drivers.
To rollback the drivers, follow these steps:
- Move the cursor to This PC/My Computer and right click. From the available options select properties.
- A window will open. Look to the left and click on Device Manager.
- Once it opens, expand Display Adapters. Then right click on the display device.
- After doing that, choose to uninstall.
- A pop-up box will appear where you have to check the Delete the drive software for this device option. Once done, click OK. That will uninstall the device and the driver software downloaded from Windows Update will delete. You can install fresh driver software later on.
I hope one of these methods help you fix the COM Surrogate has stopped working error.