Setting Application Order in Launcher

Every Microsoft Surface application that is installed on a Microsoft Surface unit must have a corresponding ApplicationName.xml file that registers the application with Surface Shell. This XML file describes certain characteristics of the application and indicates whether the application is a standard Microsoft Surface application or an attract application. (Attract applications, for example, do not appear in Launcher.)

You can install as many applications on a Microsoft Surface unit as you want, but only those applications that are properly registered can appear in Launcher and be available to users. (For more information about the ApplicationName.xml file and registering applications, see Registering Applications.)

Before Surface Shell opens Launcher, it checks to make sure a file named ApplicationOrder.xml exists. This file specifies which applications to display in Launcher and the order in which they will appear from left to right. If this file does not exist (which is the default situation for a new Microsoft Surface unit), Launcher shows all registered applications in alphabetical order (by application title).

Specifying Which Registered Applications Appear in Launcher and in What Order

In some situations, you might want to show the registered applications in an order other than alphabetical order. You might also want to make some applications available in the morning (for example, family-oriented content) and other applications after prime time. Or, maybe you discover a problem in an application and you want to temporarily remove it from Launcher while the application code is fixed. You probably want to make these changes during regular business hours without interrupting or otherwise affecting the Microsoft Surface user experience.

The ApplicationOrder.xml file enables you to seamlessly make all these changes. The next time a new user Microsoft Surface session starts, Surface Shell checks the ApplicationOrder.xml file and updates the applications that appear in Launcher and the application order. If you, as the administrator, want to force Launcher changes, you can restart Surface Shell, wait for the current user to initiate a new session, or wait for the current session to time out.

For new Microsoft Surface units, you will need to create the ApplicationOrder.xml file. (An example file is shown in the following section.) In the ApplicationOrder.xml file, you specify one of two modes:

  • The SpecificApps mode indicates that only the applications that you list in ApplicationOrder.xml will appear in Launcher and that they will appear from left to right in Launcher in the order that they are listed in the XML file.

  • The AllApps mode indicates that all registered applications will appear in Launcher, starting by displaying any applications that are listed in the ApplicationOrder.xml file (in the order that they are listed), and then displaying any remaining registered applications in alphabetical order. If one of the applications in ApplicationOrder.xml is misspelled or does not exist, Surface Shell does not include that application in Launcher. Check the event log for detailed information.

When you are considering the application order, remember that when Launcher first appears, before any user touch is registered, the application that is in the middle of Launcher (not the application that is listed first in ApplicationOrder.xml) will be highlighted by the application preview. If you want to direct users to select a particular application, you should make it be this highlighted application and not the leftmost application (the first application in ApplicationOrder.xml).

Make sure that you place the final ApplicationOrder.xml file in the %ProgramData%\Microsoft\Surface\v1.0 folder on the Microsoft Surface unit.

Example ApplicationOrder.xml file to display only specific applications in Launcher

The following code example shows an ApplicationOrder.xml file that displays the three Microsoft-supplied applications in Launcher. They will appear from left to right as follows: Music, Concierge, Photos.

<?xml version="1.0" encoding="utf-8" ?> 
<shell:ApplicationOrder Mode="SpecificApps"

Example ApplicationOrder.xml file to display all registered applications in Launcher

The following code example shows an ApplicationOrder.xml file that will display three partner applications (Checkers, Backgammon, and Chess in that order) plus all other registered applications (in this example, the three Microsoft-supplied venue applications, Concierge, Music, and Photos) in alphabetical order.

<?xml version="1.0" encoding="utf-8" ?> 
<shell:ApplicationOrder Mode="AllApps"

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

© 2009 Microsoft Corporation. All rights reserved.

Community Additions