Nachdem ich erfahren habe, dass die Vista Media Center Edition auch mit XAML “klar kommt” und darüber hinaus durch das vorhandene SDK sehr angenehm auch bereits mit der kostenlos erhältlich Express Edition von C# 2008 Anwendungen für die Media Center Edition entwickelt werden können, habe ich mich sofort auf den Weg gemacht, diesen Pfad zu beschreiten.

Da schon sehr früh erkennbar war, dass dieser Weg bisweilen ein wenig steinig ist, habe ich mich entschlossen meine Umwege und auch die kleinen Erfolge hier kundzutun:

Grundlegendes

  1. Visual Studio 2008

Die kostenlose Express Edition von C# gibt es dort: HIER zum downloaden. Die Installation ist unspektakulär und wird hier nicht weiter erwähnt. Wichtig ist nun die Installation auf jeden Fall VOR der Installation des folgenden SDKs durchzuführen, da ansonsten entsprechende Projekteigenschaften nicht existieren.

  1. Das Vista Media Center SDK:

Auch diese Installation bedarf zunächst keiner großen Erklärung. Nach Erfolgreicher Installation hat das MediaCenter die neuen Optionen MCL Preview Tool, sowie MCML Samples unter den Online Medien.

Des weiteren befinden sich nun auch im Studio zwei neue Projektoptionen:

Mit diesen lassen sich eigentlich sofort neue Projekt im MCML-Format anlegen. Doch was ist MCML eigentlich? MCML ist die “Media Center Markup Language”, eine Beschreibungssprache ausschließlich für die “Fenster” des Mediacenters: Dies hat also mit der Programmierung zunächst einmal nichts zu tun, sondern ist quasi die Konkurrenz zu XAML.

Für die Funktionalitäten bietet die Media Center-SDK ein Framework (Microsoft.Mediacenter).

[Update: Bitte den ersten Kommentar anschauen, da erkläre ich, warum diese Passage durchgestrichen ist]

Da ich jedoch keine weitere Markup-Sprache nutzen wollte, sondern meine Fenster im XAML erstellen wollte, unter anderem (aber nicht nur) weil es dafür bereits einen sehr guten Designer (Expression Blend) – wiederum von Microsoft, aber leider nur als Betaversion kostenlos – gibt, ging meine Suche etwas weiter. Ob es später einmal eine Express Edition geben wird steht in den Sternen – bisher sieht es nicht danach aus. Keine Angst übrigens vor dem “Beta”. Die zu diesem Zeitpunkt aktuelle 2.5 March 2008 Preview läuft absolut stabil und ohne böse Überraschungen.

Doch zunächst zurück zum Studio. Unabhängig von der verwendeten Markup-Language (MCML oder XAML) muss das Projekt auf jeden Fall signiert werden, um im Media Center ausführbar zu sein. Dies ist allerdings recht einfach:

Einfach auf “Projekt – (name des Projekts) Eigenschaften” Klicken und den linken Reiter “Signierung” auswählen. Dort dann den Haken bei “Assembly signieren” setzen und unter “” einen beliebigen, tunlichst eindeutigen Namen vergeben. Das wars dann schon.

Wer will kann nun bereits das Programm starten und bekommt automatisch ein “Hello” präsentiert. Um die Suche zu vereinfachen: Die Fensterdefinitionen im MCML-Format sind im automatisch angelegten Ordner “Markup” gespeichert.

-*-

XBAP

Bevor ich nun mit der Technik fortfahre möchte ich einige Fallstricke erwähnen, die mich eine Zeitlang aufgehalten haben. Und zwar ist dies im Wesentlichen, die richtigen Suchbegriffe bei Google zu finden. “MCE” für Media Center Edition ist leider völlig falsch, da es bei Vista ja keine Media Center Edition mehr gibt, sondern nur die Anwendung Media Center. Auch XAML und WPF führen zu keinem guten Ergebnis, letztendlich ist das Zauberwort zur XAML-Integration im Media Center “XBAP Media Center”.

Doch was ist XBAP überhaupt? XBAP bedeutet XAML Browser Application. Dem Mediacenter wird die XAML-Datei also zukünftig als Website “untergejubelt”.

Auf dieser Seite finden sich ein paar nette Applikationen für das Media Center; Zum Beispiel ein Bildschirmkeyboard, welche auch gut als Beispiel für eigene Anwendungen dienen können.

Wird nun z.B. das Keyboard-Beispiel im Studio gestartet, so erscheint das zunächst wirr aussehende Keyboard im Browser. Das Previewprojekt für den Browser nennt sich “*xtest*” und ist als Startobjekt ausgewählt. Um eine direkte Vorschau im Mediacenter zu ermöglichen muss stattdessen das Projekt “*MCETest*” gestartet werden. Das Keyboard versteckt sich hinter dem “<a”, alles=““ andere=““ ist=““ nur=““ schmückendes=““ beiwerk.<=““ strike=““>

Für dieses Projekt wurde bereits der notwendige Schlüssel erstellt. Wenn es das Ausgangsprojekt für eigene Projekte werden soll, muss also ein anderer Schlüssel (wie oben beschrieben) erstellt werden.

 

UPDATE:

Tja. Wer zu spät kommt… Während des Erstellens dieses Eintrags wurde mir in einem Microsoft-Forum zugetragen, dass XBAP als „Veraltet“ und in folgenden Versionen nicht mehr unterstützt gilt.

Ich habe leider diese Informationen validieren können. Da ich nicht gleich vom Start weg auf eine Technik setzen will, die mit der nächsten Version bereits nicht mehr funktioniert wird das Projekt nun doch mit MCML erstellt.

Da es hierfür noch keine fertigen Designer gibt bedeutet dies recht viel Handarbeit..