Registering a Surface Application with Surface Shell

When a developer creates a new Microsoft Visual C# 2010 (or Microsoft Visual Studio 2010) project for a Microsoft Surface application, an XML file for the application is automatically created and named ApplicationName.XML (where ApplicationName is the name of the project). When you want to deploy the finished application, you must modify the XML file, create a shortcut to the XML file, and then copy that shortcut to the %ProgramData%\Microsoft\Surface\v2.0\Programs folder on the device made for Surface where you want to deploy it.

The XML file is created by using default information for everything that Surface requires.

Default XML File

The following code example shows the default XML file.

<?xml version="1.0" encoding="utf-8" ?>

This file contains the information needed to install your application
with Surface Shell. Please refer to the documentation for deployment

Surface supports two types of applications: standard applications and service applications. The XML file uses the following elements to distinguish these types of applications:

Registering a Standard Application

If you want to register an application as a standard application and have it appear in Launcher, open its XML file and change the following information.


XML entry XML syntax Description



The application title that appears in Launcher. By default, this entry is the name of the Visual C# 2010 (or Visual Studio 2010 ) project for the application. You should edit this entry to create a friendly name for your application.


   Short description of application

The description of the application that appears in Launcher when users select the application. By default, this entry is the name of the Visual C# 2010 (or Visual Studio 2010 ) project for the application. You should change this entry to an accurate description of the application.

The description can have a maximum of two lines of text. Any extra text is truncated. In addition, the description is left-justified, so a description of only two to four words might look off-center.



The name of the executable file for the application.

You might have to type the name of a path when you move an application that is developed on a computer to a developer device made for Surface or move any application to a commercial device.



Any command-line entries that the application requires. By default, this entry is empty.



An icon that represents the application in Launcher.

The icon file must be in PNG format and be 308 x 190 pixels in size.

The following code example demonstrates the XML file for the Grand Piano sample application in the Surface SDK.

<?xml version="1.0" encoding="utf-8" ?>

   <Title>Grand Piano</Title>
   <Description>Tickle the Surface ivories</Description>

You must manually copy a shortcut to the application's XML file to the %ProgramData%\Microsoft\Surface\v2.0\Programs folder to register the application with the Surface software and to test or deploy the application as part of the Surface user experience (that is, to see the application in and start it from Launcher as users will). (Note that %ProgramData% is a hidden system folder.)

You must also modify the XML file if you change the location of the executable file, images, or other files that you add to the project, or if you want to change the name and description that appear in Launcher.

If you have copied the XML file and the application does not appear in Launcher, the most likely cause is an error in the XML file. Check the event log. Any log events that are associated with bad XML files will be under Applications and Services Logs/Microsoft/Surface/Shell/Operational. For more information about event logs, see Surface Events.

Did you find this information useful? Please send us your suggestions and comments.

© 2011 Microsoft Corporation. All rights reserved.