OK, then. I was poking around on my Windows 10 production desktop yesterday. Inside Reliability Monitor, I counted up 7 of 10 recent Application Failures from a single cause. It’s shown in the error detail window that serves as the lead-in graphic for this story. All 7 are more or less the same, where I see chronic COM Surrogate Windows 10 failures at work.
With Chronic COM Surrogate Windows 10 Failures, What to Do?
Look it up on the Internet, of course. Using “COM Surrogate stopped working dllhost.exe” as my search string, I found plenty of data to read and digest. As it turns out, this is a pretty common gotcha.
The COM Surrogate is a host process executable named dllhost.exe (as the error info also indicates). It runs as Explorer or other filesystem-related code works it way through file and folder navigation. The process also handles thumbnails (and viewing same) in Explorer and other similar interfaces.
Most of the renditions I perused, pointed to 4 potential causes:
1. a GPU driver problem
2. interference from Data Execution Prevention (DEP) causing a crash
3. munged DLL file connection (e.g. dllhost.exe)
4. corrupt DLL file
Fixes Follow Causes, Right?
Fixes relate directly to causes. For the first cause, replacing the graphics driver with a known good working version is the trick. This may mean rolling back, to reverse a recent problematic upgrade. Or, it might mean rolling forward, if a new version is available (especially one that mentions fixing thumbnail access issues).
For the second cause, creating an exception for dhllhost.exe in the DEP pane in System Properties, Performance options does the trick. Here’s a partial snapshot of what’s involved (for 32-bit Windows 10, navigate to System32; for 64-bit, navigate to SysWOW64 instead):
This basically instructs DEP to ignore access to dllhost.exe
For the third cause, re-registering the DLL should ensure that dllhost.exe is properly plumbed into the Windows Registry (for more info, please see this MS Support page). This requires entering a pair of commands in an administrative Command Prompt or PowerShell session:
This should handle anything related to DLL registration.
For the fourth cause, MS recommends first running
dism /online /cleanup-image /restorehealth
Follow that up with
sfc /scannow until it comes back with “Windows Resource Protection did not find any integrity violations.”
My Chosen Fix: DEP Exception
Because thumbnails are working OK on my system, I decided that causes 1, 3 and 4 were unlikely. So I implemented a DEP exception, as shown in the preceding screencap. So far, it’s working: no COM surrogate errors since that change. I’ll keep an eye on it, and amend this story if that changes. Stay tuned!
Note: this same approach also works on Windows 11, should the COM surrogate cause problems a PC running that OS instead. Cheers!