Windows Vista Media Center MCMLookalike project now has downloadable source code and markup

I previoulsly posted an introduction to a new open source Media Center Markup Language (MCML) user interface widget library started by Steven Harding that is called MCMLookalike.  I found via Niall's blog and Ian's blog that the first downloadable code package is now available on the SourceForge project site for MCMLookalike at

I am really excited to see an effort like this getting started in the community.  One of the things that we did not have enough time for when creating the Windows Media Center SDK for Windows Vista was building up a library of reusable controls for developers to use in their applications.  The MCMLookalike project aims to fill this type of void so that developers can focus more of their effort on fine-tuning the UI and building really nice functional experiences instead of needing to implement a set of building block UI controls before they can get started with their unique experiences.

If you haven't already, I encourage you to download the MCMLookalike project and take a look at the source code and markup (and contribute back new code/markup when you're able to).  The project includes not only MCML files, but also a Visual Studio 2005 project that appears to have been created with the project template we included in the Media Center SDK (and it is cool to see that this template is useful!).  The project also includes an installer template for a Visual Studio setup/deployment project so you can build an MSI and install this application to try it out within Windows Vista Media Center as well.

A couple of notes about the MCMLookalike download after I spent a few minutes looking at it:

  • I strongly encourage you to use WiX v3.0 and the Votive Visual Studio 2005 add-in instead of the Visual Studio setup/deployment project to build installers for Windows Vista Media Center applications if possible.  I've created updated sample setup projects for the Q podcast sample application (here) and the Z sample application (here) that are a part of the Media Center SDK.  I understand that there is a learning curve for WiX that is a bit steeper than the built-in Visual Studio setup projects, but hopefully these samples and the accompanying blog posts can help get you past most of that.
  • The app.xml file included in the project doesn't contain the correct assembly strong name, so you cannot use that file with RegisterMceApp to register this application - registration will succeed but the application will crash when you try to launch it from within Media Center.  The assembly version number is incorrect and the strong name key value is missing.  If you're like me and tend to try to prototype your application during development and don't want to uninstall/reinstall an MSI every time, you can fix the app.xml and register the application that way instead of using the MSI (but only do this during development - shipping applications should be delivered as MSI-based installers).