How to Fix “COM Surrogate Has Stopped Working” in Windows

·
6 min read

Help Desk Geek is reader-supported. We may earn a commission when you buy through links on our site. Learn more.

“COM Surrogate has stopped working” appears while you’re browsing photos or video files. A buggy codec or broken shell extension is almost always behind it. It’s worth a quick look before you start reinstalling things.

What is COM Surrogate?

COM Surrogate is dllhost.exe, a Windows host process that runs COM objects, thumbnail generators, media handlers, and codecs, outside of Explorer. The design is clever: if a codec crashes, Explorer keeps running rather than taking your whole desktop down. The error affects Windows 7 through Windows 11, and the fixes below apply to all of them.

Fix #1: Verify dllhost.exe is legitimate

Before trying anything else, confirm dllhost.exe is running from a system folder. A copy running from anywhere else is almost certainly malware.

  1. Press Ctrl + Shift + Esc to open Task Manager.
  2. Find COM Surrogate or dllhost.exe in the Processes tab.
  3. Right-click it and select Open file location.
Task Manager Processes tab with COM Surrogate right-clicked and "Open file location" highlighted in the context menu

The folder should be C:\Windows\System32 or C:\Windows\SysWOW64. If it opens anywhere else, a user profile, Temp folder, or AppData, run a full antivirus scan and a Malwarebytes scan before continuing with any other fix.

Fix #2: Use Reliability Monitor to identify the culprit

Reliability Monitor logs the exact DLL or program behind each crash. Checking it tells you which codec or software to update rather than guessing.

  1. Windows 7: Open Control Panel > System and Security > Action Center, then click Reliability Monitor.

Windows 10/11: Search for Reliability Monitor in the Start menu.

  1. Click View all problem reports at the bottom.
  2. Find a COM Surrogate or dllhost.exe entry, right-click it, and choose View technical details.
  3. Note the Fault Module Name, it usually identifies the crashing DLL or program directly.
Reliability Monitor showing a COM Surrogate crash entry with View technical details open and the Fault Module Name field

Once you have a module name, Fix #3 gets very targeted.

Fix #3: Update or remove the problem codec or software

Codec packs, DivX, ffdshow, K-Lite, older Nero, older Adobe CS installs, are behind most COM Surrogate crashes. Update or uninstall whatever Reliability Monitor flagged.

  1. Press Windows + I to open Settings, then go to Apps > Installed apps.

On Windows 7: Open Control Panel > Programs and Features.

  1. Find the codec pack or media software in the list.
  2. Select it and choose Modify to update, or Uninstall to remove it.
  3. Restart your PC and test.
Windows 11 Settings > Apps > Installed apps with a codec pack selected showing the Uninstall and Modify options

If multiple codec packs are installed, remove all of them, they conflict with each other regularly. One current, reputable package is far cleaner than stacking several older ones.

Fix #4: Re-register vbscript.dll and jscript.dll

Corrupt scripting DLL registrations break COM components that rely on them. This actually works on a surprising number of cases, and it takes about a minute.

  1. Press Windows and search for cmd.
  2. Right-click Command Prompt and choose Run as administrator.
  3. Run these commands one at a time, pressing Enter after each:
regsvr32 vbscript.dll
regsvr32 jscript.dll
  1. A dialog should confirm registration succeeded for each DLL.
  2. Restart your PC.
Elevated Command Prompt after running regsvr32 vbscript.dll with the success confirmation dialog visible on screen

These commands are identical on Windows 7 through Windows 11.

Fix #5: Run System File Checker

sfc /scannow scans Windows system files for corruption and replaces any damaged ones automatically.

  1. Open an elevated Command Prompt (right-click Command Prompt > Run as administrator).
  2. Type the following and press Enter:
sfc /scannow
  1. The scan takes a few minutes. Don’t close the window until it finishes.
  2. Restart and check whether the error returns.
Elevated Command Prompt showing sfc /scannow running with the verification progress displayed

Fix #6: Configure DEP to exclude dllhost.exe

Data Execution Prevention (DEP) can block dllhost.exe from running certain COM operations. Adding an exclusion, rather than disabling DEP entirely, is the right approach here. For more background, see our guide on how to turn off DEP in Windows.

  1. Press Windows + R, type SystemPropertiesAdvanced, and press Enter.
  2. Under Performance, click Settings.
  3. Click the Data Execution Prevention tab.
  4. Select Turn on DEP for all programs and services except those I select.
  5. Click Add and browse to the correct path for your Windows version:

– 32-bit Windows: C:\Windows\System32\dllhost.exe – 64-bit Windows: C:\Windows\SysWOW64\dllhost.exe

  1. Confirm any warning dialog, then click Apply > OK.
  2. Restart Windows.
Performance Options dialog open on the Data Execution Prevention tab with "Turn on DEP for all programs except those I

Fix #7: Update or roll back your display driver

Display driver problems, especially around hardware-accelerated thumbnail generation, can crash COM Surrogate. If the errors started after a driver update, rolling back usually sorts it fast.

  1. Press Windows + R, type hdwwiz.cpl, and press Enter to open Device Manager.
  2. Expand Display adapters.
  3. Right-click your GPU and choose Properties.
  4. On the Driver tab:

– Click Roll Back Driver if crashes started after a recent driver update. – Click Update Driver > Search automatically if you haven’t updated recently.

  1. Restart and test.
Device Manager with Display adapters expanded and GPU Properties open on the Driver tab, showing both Roll Back Driver and

Check Print queues in Device Manager while you’re there, outdated printer drivers occasionally trigger the same crash.

Fix #8: Check your antivirus exclusions

Some antivirus and internet security suites interfere with dllhost.exe, particularly when it reads files on external drives. If COM Surrogate crashes mainly when you plug in a USB drive or browse removable media, your security software is a likely suspect.

  1. Open your antivirus or internet security suite.
  2. Find the Exclusions or Exceptions settings.
  3. Add C:\Windows\System32\dllhost.exe as an excluded process.
  4. Re-test.

Temporarily disabling real-time protection and browsing a few pictures is a quick confirmation: if the error disappears with protection off, adding the exclusion will fix it permanently.

Fix #9: Run chkdsk on the affected drive

If the error only appears with files on one specific drive, a USB drive or external hard disk, bad sectors may be the trigger. See our guide on how to use the chkdsk utility for full steps.

When the Fixes Don’t Work

If nothing here clears it, a repair install is the next step. On Windows 10 and 11, go to Settings > System > Recovery > Reset this PC and choose Keep my files, this refreshes system files without removing your apps. On Windows 7, you’ll need installation media to run an in-place upgrade.

Conclusion

Fix #3 (removing a bad codec) clears this for most people, especially when Reliability Monitor has already named the offending DLL. Fix #4 is worth running right after, two commands, about a minute, and it handles a surprising number of cases. Bookmark this page if COM Surrogate keeps recurring; the display driver or antivirus exclusions are usually behind the repeat offenders. For more information on COM Surrogate, you can visit Microsoft’s documentation or check out Software Testing Help for additional troubleshooting steps.