Defeat ‘COM Surrogate Has Stopped Working’ Errors When Playing Videos

com-surrogate-error

Make Media Center stable

If you have a bunch of video files, then you probably also have a bunch of video and audio codecs (Divx, Xvid, MPEG-4, AC3, etc.) to match. Most of the time when you don’t have a particular codec installed, either the video or audio stream won’t render, and you can diagnose which codec you need and install it.

Windows Vista decides to throw you a generic “COM Surrogate has stopped working” or “DLLHost has stopped working” error message when it can’t find some of your codecs. Vista’s updated Media Center will completely crash without any error if it encounters a file without the proper codec (not very appliance-like if you ask me). This usually occurs when trying to get the video thumbnail, so you can have a hard time navigating to other video files if you step upon this “land mine.”

This problem is caused because of codecs and other COM components installed by various softwares that aren’t fully Vista-compatible, like some versions of DivX or Nero. There are a number of possible solutions to this problem, and the right solution depends greatly on what software is actually causing the problem.

Possible Solutions

  • If you are using DivX, you should be upgraded to the very latest version (6.5+)
  • If you are using Nero, you can try upgrading to the latest version (7.7.5.1+)
  • If you’ve upgraded Nero and Divx and still have the problem, you can try renaming the file C:Program FilesCommon FilesAheadDSFilterNeVideo.ax to NeVideo.ax.bak. You may also need to rename NeVideoHD.ax to NeVideoHD.bak This will break Nero Showtime, however.
  • You can disable Thumbnail previews, which should make the problem go away, but isn’t the optimal solution.
  • The older ffdshow codec pack has been known to cause some problems. The ffdshow tryouts codec pack seems to work better. Might want to try using this one: http://ffdshow-tryout.sourceforge.net
  • There’s another possible solution below of turning off DEP for dllhost, which might not work for everybody. You may have to add divx+nero executables to the DEP ignore list.

You can also fix this issue by turning off Data Execution Prevention on dllhost (the COM surrogate). This is the most direct and brute-force method to prevent this error from happening, so you shouldn’t get this error again, no matter which version of the codecs you are using.

1. Right click on Computer, and choose Properties

2. Click on Advanced System Settings, and then under Advanced, click Settings

3. Select the “Data Execution Protection” tab, and then click “Turn on DEP for all programs and services except those I select”

4. Click on the Add button, and then browse to C:WindowsSystem32dllhost.exe

Click Open, and then OK.

Now you can browse video folders without problems. More importantly, Media Center is now much more stable.

Alan is a web architect, stand-up comedian, and your friendly neighborhood English Nazi. You can stalk him on the Interwebs via Google+, Facebook and follow his ass on Twitter @ocmodshop.

3 Comments

  1. computerhelp

    July 21, 2011 at 1:51 pm

    The divx codecs is the problem it’s not read by vista

    1. Just uninstall divx
    2. uninstall and all codecs.

    t===he divx codec in the divx package corrupts the codecs and vista can’t read it after corrupting it==

    3. reinstall codecs but not the one from divx.

    !!!!!but don’t use an divx codecs!!!!!

    just install the divx PLAYER Only!
    ====Don’t install the divx codec when installing divx player ==

    NO divx codec the problem is the divx codec not compatible or conflicting with windows vista. i wouldnt recommend going to system as changing settings it is dangerous

  2. Ameed

    June 21, 2011 at 12:20 am

    So you are saying I have to screw half of my applications and you call this stable?

    • Alan

      June 21, 2011 at 12:20 am

      What are you talking about? How would this screw half of your applications?

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>