Important note about using RegisterMceApp and RegisterApplication

A couple of folks on the Windows Media Center team tried out the Veronica's Radio sample that Charlie Owen posted on the Media Center Sandbox site last week and ran into an issue that is worth mentioning to a wider audience.

The installation batch file included with that sample application calls RegisterMceApp with the following command line:

%windir%\ehome\registermceapp.exe veronicasradio.xml

This command line registers this application for the currently logged in user only. As a result, users who register this application on the console will not see this application when they access Windows Media Center using an extender device such as an Xbox 360 (because extenders run in the context of a separate user account on the system).

If you want to install and register a Windows Media Center application and ensure that it will be available for Windows Media Center extenders as well as the user logged in on the console, you should call RegisterMceApp with the /allusers switch. For example, to register Veronica's Radio you would use a command line like the following:

%windir%\ehome\registermceapp.exe /allusers veronicasradio.xml

If you run RegisterMceApp with the /allusers switch from a cmd prompt, you will need to make sure that the cmd prompt is running with elevated privileges because the /allusers switch causes RegisterMceApp to create registry entries under HKEY_LOCAL_MACHINE, which cannot be done with normal user permissions. You can open an elevated cmd prompt by using the following steps:

  1. Go to the Start menu
  2. Choose All Programs, then Accessories
  3. Right-click on the Command Prompt item and choose Run as administrator
  4. Click continue on the pop-up dialog that appears

Please note that the sample installer source files that I posted here and here call RegisterMceApp with the /allusers flag, so if you are using those as the basis for building your application installer, you will already be getting this behavior for free.