Media Center crashes when launched on Windows Vista beta 2 if you have My Movies add-in installed

We got a few bug reports this week from customers who have installed Windows Vista beta 2 and tried to use Windows Media Center. If you have the My Movies add-in installed on Windows Vista beta 2, and checked the box during My Movies setup to add it to the Media Center Start menu, you will see Media Center crash when you try to launch it.

How to workaround this crash

If you have Windows Vista beta 2 installed and are running into this crash, you can workaround it in one of 2 ways:

1. Remove the registry value that causes the crash by doing the following:

  • Close Media Center
  • Click on the Start menu, then All Programs, then Accessories
  • Right-click on the Command Prompt and choose Run as administrator
  • Type regedit
  • Navigate to HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Media Center\Extensibility\Categories\Start Menu\{GUID} where GUID is the GUID for the My Movies application. You can tell that you have the right GUID by looking at the Title value under each GUID until you find the right one
  • Delete the TimeStamp value under the My Movies GUID
  • Re-open Media Center

2. Uninstall My Movies by doing the following:

  • Click on the Start menu, choose Run, and type appwiz.cpl
  • Uninstall My Movies from the Remove Programs control panel

Root cause within Windows Media Center

We investigated and tracked this down to a regression in Media Center functionality introduced in Windows Vista. We are receiving an exception while trying to load the Start menu items, and it isn't being caught and silently ignored like it used to in Windows XP Media Center Edition 2005. You can see the exact exception by looking at the file %windir%\ehome\ehshell.crash in a text editor such as notepad on a system that experiences this crash.

Root cause within My Movies

While looking more deeply at this issue, we also found that the root cause of the exception that is being thrown is actually a bug in the My Movies setup. They have a custom action in their setup MSI that registers My Movies for the Media Center Start menu. I cannot tell what this custom action does because it is a DLL that takes command line parameters and from there it is a black box to me. However, the end result is that the registration for My Movies that gets created at HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Media Center\Extensibility\Categories\Start Menu\{GUID} where GUID is the GUID for the My Movies application contains a TimeStamp registry value contains a REG_SZ string value that looks like "DWORD:086f4354."

Media Center expects the TimeStamp value to be a REG_DWORD. In previous versions, it silently ignored this value, but in Windows Vista beta 2, it caused an invalid cast exception and then Media Center crashed. We have fixed the crash in our code this week, but the underlying bug in the My Movies setup is still there in the public version on their download site. I will have to try to get a hold of the author and let them know about this issue so they will hopefully fix their setup bug in the future as well.