The Windows Media Center Platform Team Blog RSS 2.0
 Saturday, August 25, 2007

Use this guide to replace the button in the application template with the one from the Z sample application. This is a good example of separation of logic/data from the visuals enabling development of each to remain separate in a distributed development environment.

1.       Start a new application with the Windows Media Center Application template and complete the application as outlined in the readme.htm file.

2.       Using Windows Explorer copy the following files from the Z sample application source folder into the corresponding new application folders, overwriting existing files if present:

a.        \Markup\Button.mcml

b.       \markup\Styles.mcml

c.        \images\ButtonFocus.png

d.       \images\ButtonNonFocus.png

3.       Select the Images folder in Solution Explorer.

4.       Select Project > Add Existing Item from the menu.

5.       In the Add Existing Item dialog:

a.        Select Image Files in the Files of type drop down list.

b.       Navigate to the \Images folder for the project and multi-select ButtonFocus.png and ButtonNonFocus.png by clicking on them with the mouse while holding down the Control key on the keyboard.

c.        Click the Add button.

6.       Open Resources.resx for editing.

7.       In Resources.resx:

a.        Press Control+2 on the keyboard to switch to images.

b.       Drag and drop ButtonFocus.png, ButtonNonFocus.png and ButtonNonFocus.png from the Solution Explorer into Resource.resx to embed these files in the assembly.

8.       Double click \Markup\Button.mcml in Solution Explorer for to open for editing.

9.       Find and replace every instance of "resx://Z/Z" with "resx://[ApplicationName]/[ApplicationName]" where [ApplicationName] is the name of your project. For example: "resx://Z/Z.Resources/Styles" would read "resx://Application1/Application1.Resources/Styles"

10.    Double click \Markup\Styles.mcml in Solution Explorer for to open for editing.

11.    In Styles.mcml:

a.        Delete the following MCML: <Image Name="ContainerImage" Source="resx://Z/Z.Resources/Container" NineGrid="40,40,40,40"/>

b.       Add the following MCML: <Color Name="BackgroundColor" Color="Black"/>

c.        Find and replace every instance of "resx://Z/Z" with "resx://[ApplicationName]/[ApplicationName]" where [ApplicationName] is the name of your project.

12.    Select Compile and test using DevInstall.cmd or create the MSI as outlined in readme.htm to install and test.

Categories: Template | Comments [0] | # | Posted on Saturday, August 25, 2007 3:39:47 AM (GMT Standard Time, UTC+00:00)   
 Friday, August 24, 2007

Follow these steps to transform the C# Windows Media Center Application Template in the 5.2 version of the SDK into a background application.

1.       Create a new project using the Windows Media Center Application template in versions 5.2 or later of the Windows Media Center Software Development Kit.

2.       Finalize the project using the instructions outlined in the Readme.htm document included with the template.

3.       Double click Resources.rex in Solution Explorer to open for editing.

4.       In Resources.resx…

a.        Press Control+1 to select strings.

b.       Modify the DialogCaption string to read “Dialog Caption”.

c.        Press Control+5 to select files.

d.       Delete the 5 MCML files (Button, Controls, Menu, RepeatItem and Styles).

e.       Select File > Save from the menu.

5.       Delete the Markup folder in Solution Explorer.

6.       Double click Application.cs in Solution Explorer to open for editing.

7.       In Application.cs…

a.        Delete: private HistoryOrientedPageSession session;

b.       Delete: public Application() : this(null, null){}.

c.        Delete: public string[] MyData{…}

d.       Modify public Application(HistoryOrientedPageSession session, AddInHost host) to read as follows:

public Application(AddInHost host)

{

this.host = host;

singleApplicationInstance = this;

}

 

e.       Modify public void GoToMenu() to read as follows:

public void Start()

{

string temp = "Background applications do something here.";    

DialogTest(temp);

}

 

f.         Modify public void DialogTest(string strClickedText) to read as follows:

public void DialogTest(string strClickedText)

{

int timeout = 5;

bool modal = true;

string caption = Resources.DialogCaption;

 

if (host != null)

{

MediaCenterEnvironment.Dialog(strClickedText,

caption,

new object[] { DialogButtons.Ok },

timeout,

modal,

null,

delegate(DialogResult dialogResult) { });

}

else

{

Debug.WriteLine("DialogTest");

}

}

 

g.        Select File > Save from the menu.

8.       Double click Launch.cs in Solution Explorer to open for editing.

9.       In Launch.cs…

a.        Delete private static HistoryOrientedPageSession s_session;.

b.       Modify public void Launch(AddInHost host) as follows:

public void Launch(AddInHost host)

{

    Application app = new Application(host);

    app.Start();

}

 

c.        Select File > Save from the menu.

10.    Double click Registration.xml in Solution Explorer to open for editing.

11.    In Registration.xml modify <category category="More Programs"/> to read as follows:

<category category="Background"/>

 

12.    Select File > Save from the menu.

13.    In Solution Explorer select the [ApplicationName] project.

14.    Select Project > [ApplicationName] Properties from the menu.

15.    Delete the MCMLVerifier post-build event command line items in the Build Events tab of the properties (this line begins with “%windir%\eHome\McmlVerifier.exe…”).

16.    Select Build > Rebuild Solution from the menu.

17.    Run “DevInstall.cmd” from a command prompt with Administrator privileges to perform a development install or follow the instructions to generate an MSI and install.

18.    Launch Windows Media Center – the application should display a dialog shortly after Windows Media Center launches.

19.    Run “DevInstall.cmd /u” from a command prompt with Administrator privileges to perform a development install or uninstall using the MSI. Otherwise you will get a dialog box each time you launch Windows Media Center.

Categories: Template | Comments [2] | # | Posted on Friday, August 24, 2007 10:45:22 PM (GMT Standard Time, UTC+00:00)   
 Tuesday, August 07, 2007

An updated version of the Windows Media Center Software Development Kit is now available for download from http://www.microsoft.com/downloads/details.aspx?familyid=a43ea0b7-b85f-4612-aa08-3bf128c5873e&displaylang=en. This is the same link as before so no need to change your bookmarks. These links also persist in the navigation section at http://blog.mediacentersandbox.com/.

The following is a summary of the key changes to the Windows Media Center Software Development Kit for this version:

  • The Windows Media Center Application Step By Step document which helps you create a Windows Media Center application from an empty project using Media Center Markup Language (MCML), C# and Windows Installer XML (WiX).
  • The C# project template has been revised and now includes Windows Installer XML (WiX) 3.0 scripts for generating a setup program to install the application. See the Readme.htm file when you create a new application with the template for more information. This application template is the same result you get from working completely through the new Step By Step document.
  • The MCML file template has been revised to work better with the C# project template and includes the basic Properties, Locals, Rules, and Content elements typically needed.
  • A Visual Studio solution for the MCML Sampler making it easier to search, copy, and paste from the markup and code files.

I'd like to take a moment to thank our community of developers over at http://discuss.mediacentersandbox.com who provided lots of feedback on the Step By Step document to make it a great resource for beginners.

Charlie

Categories: SDK | Comments [1] | # | Posted on Monday, August 06, 2007 11:46:01 PM (GMT Standard Time, UTC+00:00)   
 Wednesday, August 01, 2007

A good part of my professional life last year was taken up working with Showtime and Method (among others) to get Showtime Interactive built while we were still creating the Windows Media Center Presentation Layer platform (Media Center Markup Language + .NET 2.0).

Thanks to our friends over in developer envangelism you can learn more about what it took to build this experience at http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=4000000490.

Charlie

Categories: Application | Comments [6] | # | Posted on Wednesday, August 01, 2007 4:41:45 PM (GMT Standard Time, UTC+00:00)   
Blogroll
About

Disclaimer
All information available via this site is provided 'as is' with no warranties and confers no rights.

© Copyright 2008 Microsoft Corporation.

Sign In
All Content © 2008, Microsoft Corporation.