Niall Ginsbourg from Mobilewares (the same person who is working on the Flickr photo browser for Windows Media Center for Windows Vista) has posted an item on the Media Center Sandbox discussion forum that I wanted to link to here as well. He has created a custom action DLL that can be used to register an application with Windows Media Center when creating a setup package for a Windows Media Center application in Visual Studio 2005.
The features of this new custom action DLL, which Niall has named MCECustomRegApp.dll are the following (paraphrased from Niall's post on the Sandbox forum):
- Support for the .NET Framework 2.0 and Windows Vista
- Allows targeting of multiple Windows Media Center versions
- Automatically selects the "best fit" XML registration file for the application
- Meaningful error messages and a debug mode to make it easier to debug setup issues
You can download the DLL and some documentation about how to use it at this location.
This DLL is designed as a replacement for the RegisterAddIn.dll that was included in old versions of the Windows Media Center SDK. We have deprecated that DLL in the Windows Media Center SDK for Windows Vista in favor of 2 more robust alternatives - directly creating the registry values needed to register a Windows Media Center application in the Registry table of your MSI, or using WiX to develop setup packages and using RegisterMceApp.exe as a custom action in a WiX-based solution.
If at all possible, I strongly recommend that you use WiX for developing the installer for a Windows Media Center application. However, I understand that there is a learning curve currently while we work on better tools to support automating the trickier aspects of MSI-based installer development. So this custom action DLL that Niall has written can provide a good stop-gap solution for building Windows Media Center application installers.