In response to an emailed question from Mike Kaltschnee about how to install applications on Media Center I thought I'd provide my thoughts on the subject. 

First, do you really need to install something?  Let's tackle what do if you just want to create some links to your web based application.

Creating links to applications

There are a few ways of getting a link onto a PC...

Provide a MCL file that the end user can download and put on their PC.  This is great for sharing links to sites for technical  users, but doesn't work that well for non-technical users.  If you choose this option you need to get the user to save the MCL file to their PC and then double click on it.  This will start Media Center and navigate to your application.  Your application should then make use of one of the following APIs to get a link installed.

But the user has the MCL file, why do I need to create another one?  To get your application to show up in More Programs inside Media Center that MCL file needs to be in a specific location and many users will not understand how to save the file in the right place.  Also your initial MCL may point to a sign-up page and your link could point to the main page of your application.

Creating a link using CreateMCL

NOTE: This API should only be used for Media Center 2004 clients.  If the target is Media Center 2005 use the RegisterApplication API (see below).

The SDK describes how to use the API, but I have a few extra notes...

  • "StartImageUrl" will be ignored on Media Center 2005
  • Ignore the "Category" param or specify 0. 
  • "Type" should always be 0

Creating a link using RegisterApplication

I've talked a little bit about this API before, but I'll say a bit more here.

This is the preferred way of creating links (or "entrypoints" as we like to call them) in Media Center 2005 and it has a number of advantages:

  • You can register your application to multiple places instead of just More Programs.
    • "More With This" categories will let your application appear in when a user brings up the context menu on a piece of media and clicks the "More..." button.  You'll also get information on the media they clicked on, so if you're building a photo sharing application you'd want to register in the "More With This\Picture" category.
    • "Services" categories allow your application to appear on the "More" pages that appear in each experience, i.e. "More Music"
    • "New For Me" is a big topic and I'll cover this at a later date.
  • Using different categories you can create more than one link at a time.
  • This is the way to register add-ins.
  • You can register your application for all users of the PC

Installing your application

Creating a link is fine if your application is purely web based, but if you need to download something (an add-in for example) then you need to get the content on to the PC somehow.

If all you need to install are some ActiveX controls you can do that in Media Center, just as you would in IE.

If you need to install an add-in then there are a couple of things you need to do...

Creating an add-in installer

The SDK includes the basics on how to create an installer and simplifies how to register your application.  This is the preferred way of installing an add-in.

Downloading the add-in

Media Center does not provide a special way of downloading files from the web and we recommend that you avoid trying to get users to download files via the 10' interface of Media Center as on a TV the download dialogs may be difficult read and understand.  Instead you should get the user to download your installed from a standard website in Internet Explorer.

Assuming that the user is viewing your 10' website in Media Center and wants to download your add-in:

  1. Warn the user that to install the add-in they will need to visit a website in Internet Explorer
  2. Direct the user to the web page
    1. In Media Center 2005 use the CreateDesktopShortcut API to either create a shortcut on the desktop to your website or open it directly in IE (note if Media Center is full screen IE will open behind Media Center, so you'll need to exit DirectX exclusive mode first)
    2. In Media Center 2004 directly navigate to the page and Media Center will give the user the option of viewing the page in Media Center or creating a shortcut to open in IE later.

Naturally the same steps could be used for installing something other than an add-in.