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.
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:\Windows\System32\dllhost.exe
Click Open, and then OK.
Now you can browse video folders without problems. More importantly, Media Center is now much more stable.