I heard from a customer this week who indicated they were seeing all of the following errors that I have described in previous blog posts:
I wanted to outline the exact steps I took to investigate this user's computer because they are very often useful in resolving this type of error. Hopefully, if other folks run into this type of error within Media Center, they will be able to find this blog post and be able to more easily fix the error themselves.
The errors listed above are normally caused by a Media Center service not being correctly registered on the system. Service registration happens at the end of Media Center update rollup or hotfix setup, and most cases I have seen of this error can be traced back to something failing during the installation of the most recent Media Center hotfix.
The most useful log file for Media Center hotfixes is named %windir%\medctroc.log. In this type of scenario, I always start my investigation by opening up that log file, scrolling to the bottom and looking for any errors or warnings, especially errors related to service installation.
In general, the sessions in that log file come in pairs - an un-registration mode that is denoted by the log string Will run in unregister mode and a registration mode that is denoted by the log string Will run in registration mode. The service un-registration and re-registration command lines appear under the heading Registering services and COM objects... in the log file.
In most cases one or more of the following warnings or errors will appear:
- Warning: Process wait timed out
- Error: couldn't stop the ehSched service: 0x00000424. --> "The specified service does not exist as an installed service.
In cases where I see any of the above error messages in %windir%\medctroc.log, I use the following set of steps in the order listed below to manually un-register and re-register Media Center services:
- Close Media Center
- Click on the Start menu, choose run and type cmd
- Execute the command regsvr32.exe atl.dll
- Execute the command C:\WINDOWS\eHome\ehSched /unregServer
- Execute the command C:\WINDOWS\eHome\ehSched /service
- Execute the command C:\WINDOWS\eHome\ehRecvr /unregServer
- Execute the command C:\WINDOWS\eHome\ehRecvr /service
- Execute the command C:\WINDOWS\eHome\ehRec.exe /unregServer
- Execute the command C:\WINDOWS\eHome\ehRec.exe /regserver
- Execute the command C:\WINDOWS\eHome\ehmsas.exe /unregServer
- Execute the command C:\WINDOWS\eHome\ehmsas.exe /regserver
- Restart Media Center
The command lines above are case-sensitive, so make sure to capitalize the S in unregServer exactly as listed above. Also, it is not sufficient to simply re-register the services because these services have logic in the code that treats the /service switch as a toggle (meaning that if it is un-registered, it will re-register it, but if it is already registered, it will un-register it).
In a few cases, running the above steps will result in the same error messages when launching Media Center and will show the same log messages in %windir%\medctroc.log. I have seen the following steps help resolve these errors in this scenario if the above commands did not help:
Go to Add/Remove Programs
Check the box labeled Show updates at the top
Scroll to the bottom of the list of installed programs
Remove the most recently installed Media Center update rollup package
Re-download and re-install the update rollup package that you uninstalled in the previous step
<update date="2/19/2006"> Added additional steps to uninstall and reinstall the most recent Media Center update rollup because I have heard from a couple of customers who tried all of the above command lines and none of them helped, but uninstalling and reinstalling did end up solving the issue for them </update>