Deploying Only One Application on a Microsoft Surface Unit

By default, the Microsoft Surface software uses the Launcher menu and access points to enable users to open and navigate between multiple Microsoft Surface applications. However, sometimes you might want to deploy only one application to a Microsoft Surface unit. In this scenario, the unit behaves like a single-purpose system and the Launcher menu and access points are unnecessary.

To achieve this scenario, you can enable single-application mode so that only one specified application runs on a Microsoft Surface unit. In single-application mode, the specified application starts immediately and the Launcher menu and access points are disabled, which enables the specified application to be the complete user experience.

You can use any Microsoft Surface application as the specified application for single-application mode. Special registry settings help distinguish single-application mode from the default Microsoft Surface user experience.

Configuring Single-Application Mode

The XML registration file for an application in single-application mode is the same as the typical XML registration file.

To run a Microsoft Surface unit and a specified application in single-application mode, you must set the appropriate registry keys and then restart Surface Shell. The following table shows the registry keys and subkeys that you use to configure single-application mode. (All of these keys are located under the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Surface\v1.0 subtree.)

You can enable single-application mode by specifying the SingleAppMode registry key and the SingleAppApplication registry key. The other registry keys in this table are optional and the default values are used if you do not modify them.


Registry entry Location Description Valid values Default value



(Optional) The initial orientation (relative to the bottom of the Windows Vista display) of the application that runs in single-application mode.

When a user starts an application from Launcher, the application uses the InitialOrientation value to determine which side of the unit has the orientation so that the application is oriented in the same direction.

Specify the InitialOrientation property in your application only if the application has a specific orientation. An application can have four sides or only two sides. If the application has four sides, the application does not have to set the orientation.

"Bottom" or "Top"




(Required for single-application mode.) Enables or disables single-application mode.

0 (disabled) or 1 (enabled)






(Required for single-application mode.) The name of the application that runs in single-application mode.

The file name of the application's XML file, without the file name extension.






(Optional) The number of times that the unit will restart the application before the unit becomes out-of-order.


If this entry is 0, the application is never restarted.

If this entry is MAX_DWORD, the application is always restarted.


(Surface Shell will restart the application two times.)





(Optional) The time period, in seconds, in which the number of restarts is counted.

1–MAX_DWORD (in seconds)




<profile> is one of the following:

  • Default

  • Administrator

  • User

  • UserDebug

The time, in seconds, that the application has to load before the loading screen times out.

1–60 seconds (in seconds)


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

© 2009 Microsoft Corporation. All rights reserved.

Community Additions