Surface Registry Keys
The Microsoft Surface registry subkeys are grouped into two types: Profile-based registry subkeys and Global registry subkeys.
All Profile-based registry subkeys are located under the HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Surface\v2.0\Profiles key. You can add subkeys for each account profile in this key: Developer (administrator), SurfaceStandard, and SurfaceDebug. When you add entries under these subkeys, they will only affect that account profile. For example, if you add an entry under the HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Surface\v2.0\Profiles\SurfaceDebug subkey, it will only affect software behavior when the device is in Surface mode with troubleshooting enabled. Surface Shell customizes the experience by automatically changing the relevant registry subkeys to match the "mode" and the "account profile." For more information about modes and account profiles, see Windows Mode and Surface Mode and Account Profiles.
The Global registry subkeys are located in the HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Surface\v2.0\Global key. The entries added to the subkeys placed in the Global key affect Surface software behavior independent of account profiles.
For each configuration setting, Surface Shell looks first in the Profile-based registry subkeys to check whether there are settings for the account profile that is currently in use. If Surface Shell does not find the setting it is looking for in the Profile-based registry settings, then it searches in the Global subkeys for configuration information. For example, if the SurfaceDebug account profile is currently logged into the system (by entering Surface mode with troubleshooting enabled), Surface Shell will first search for configuration information on each setting in the HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Surface\v2.0\Profiles\SurfaceDebug subkey and use those configuration settings. If no settings are found, the system searches the HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Surface\v2.0\Global subkeys. So in any particular Surface Shell session, some configuration settings may come from the Global registry subkeys and some may come from the Profiles subkeys.
The following sections describe the relevant Surface registry subkeys, grouped by their registry key. You can search this page for the subkey that you are interested in.
Global Registry Subkeys
The entries in subkeys located under the HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Surface\v2.0\Global key affect Surface software behavior independent of which account profile is currently using the system. To customize these settings you may need to add some of the entries with Registry Editor.
To add entries under Global registry subkeys in Registry Editor
-
In Windows mode, click Start, and type regedit to start Registry Editor.
-
In the left pane of Registry Editor, click the subkey to which you want to add entries.
-
With the subkey selected, right-click in the right pane, click New, and then click either String Value or DWORD (32-bit) Value depending on the value type of the entry you want to add.
Global Feedback Subkey
| Entry | Description | Default value |
|---|---|---|
|
CEIPReporting (DWORD value) |
The CEIPReporting entry determines whether the device made for Surface is opted in or opted out of the Microsoft Surface Customer Experience Improvement Program (SCEIP). Valid values are 1 to opt in to SCEIP and 0 to opt out. |
0 |
|
WEReporting (DWORD value) |
The WEReporting entry determines whether the device made for Surface is opted in or opted out of Windows Error Reporting. Valid values are 1 to opt in to Windows Error Reporting and 0 to opt out. |
0 |
Global InternationalSupport Subkey
| Entry | Description | Default value | ||
|---|---|---|---|---|
|
InputLanguageID (DWORD value) |
The InputLanguageID entry controls the Surface keyboard layout and key mapping. This entry must be one of the following values:
|
Best match for LocaleName |
||
|
LocaleName (String value) |
The LocaleName entry changes how Surface displays numbers, currencies, dates, and time. You can specify any locale name that the .NET Framework supports. For a full list of locale identifiers, see Locale Identifier Constants and Strings on the MSDN website. |
The locale that you specified during the initial Windows 7 setup process on the device made for Surface. |
||
|
UILanguageName (String value) |
The UILanguageName entry controls the interface display language for Surface. You can specify any locale name that the .NET Framework supports. Microsoft Surface 2.0 is localized into the following UI languages:
|
The system UI language. For more information, see the description of "System UI Language" in User Interface Language Management on the MSDN website. |
Global Shell Subkey
| Entry | Description | Default value |
|---|---|---|
|
AppLauncherTitle (String value) |
The AppLauncherTitle entry specifies left-justified text that appears across the top of the application Launcher menu. You cannot change the font, font color, or the font size. Test the appearance of the text before you deploy a customized Launcher title. |
No default value |
|
BackgroundImage (String value) |
The BackgroundImage entry specifies a custom image in Surface Shell. The image is overlaid with the Attract application water effects when the device is in the Attract application. Valid value is the full path of your customized background image. |
Dark palette For more information, see DefaultPalette |
|
EnableObjectRouting (DWORD value) |
The EnableObjectRouting entry determines whether object routing is enabled for tags. Object routing is applicable only when there are installed applications that have registered for object routing in their XML registration file (which must include the appropriate <Tags></Tags> section). Valid values for EnableObjectRouting are 0 and 1. 1 indicates that object routing is enabled; 0 indicates that it is disabled. |
1 |
|
InitialOrientation (String value) |
InitialOrientation is the initial orientation (relative to the bottom of the Windows 7 display) of the application that runs in single-application mode. (String) Valid values are "bottom" or "top". |
bottom |
|
OutOfOrderRestartDelay (DWORD value) |
The OutOfOrderRestartDelay entry determines how many minutes pass before the device made for Surface is restarted after the second and subsequent out-of-order events. The restart delay for the first out-of-order event in a 24-hour period is always 10 minutes and is not configurable. Valid values range from 10 through 1440. (1440 equals 24 hours.) |
60 minutes |
|
OutOfOrderRestartQuota (DWORD value) |
The OutOfOrderRestartQuota entry determines how many times during a 24-hour period the device made for Surface restarts after an out-of-order event. Valid values range from 0 through 10. |
3 |
|
ServiceApplicationRestartDelay (DWORD value) |
For devices made for Surface that are running a service application, if that application crashes or exits with a non-zero exit code, Surface Shell waits for the ServiceApplicationRestartDelay period and then restarts the service application. There is no limit to the number of times that the Surface software restarts a service application. The Surface software does not restart services if they exit normally (with an exit code of zero), and it does not monitor if service applications stop responding. |
10 seconds |
|
SingleAppMode (DWORD value) |
(Required for single-application mode.) The SingleAppMode entry enables or disables single-application mode. Valid values are 0 (disabled) or 1 (enabled). |
0 |
Global SingleAppMode Subkey
(You can specify these values in the …\Global\Shell subkey or this subkey.)
| Entry | Description | Default value |
|---|---|---|
|
SingleAppApplication (String value) |
(Required for single-application mode.) The SingleAppApplication entry specifies the name of the application that runs in single-application mode. Valid value is the application name as it is specified in the shortcut to the ApplicationName.XML file, which is placed in the %ProgramData%\Microsoft\Surface\v2.0\Programs folder. For more information about this shortcut, see Registering a Surface Application with Surface Shell. |
No default value |
|
SingleAppRestartPeriod (DWORD value) |
(Optional) The SingleAppRestartPeriod entry specifies the time period, in seconds, used to track an application restart for an application that is running in single-application mode. For example, if the SingleAppRestartPeriod is set to 600 (10 minutes), the application will restart a maximum of two times every 10 minutes. If the application attempts to restart itself more than two times during the restart period, the device made for Surface will enter the out-of-order state. You can increase the number of times an application can restart within the application restart period by modifying the SingleAppRestartQuota registry entry. Valid values range from 1 through MAX_DWORD (in seconds). |
600 |
|
SingleAppRestartQuota (DWORD value) |
(Optional) The SingleAppRestartQuota entry specifies the number of times that the single-application mode application is restarted if it crashes or stops responding during the restart period. If the quota is exceeded, the device made for Surface enters the out-of-order state. Valid values range from 0 through MAX_DWORD. If this entry is 0, the application is never restarted. If this entry is MAX_DWORD, the application is always restarted. |
2 (Surface Shell restarts the application two times.) |
Global UI Subkey
| Entry | Description | Default value |
|---|---|---|
|
DefaultPalette (String value) |
The DefaultPalette entry specifies the color scheme of the Attract application palette. For more information about the Attract application, see The Attract Application. The palette color scheme enhances screen legibility in different environments. High contrast color schemes provide maximum visibility for users with low vision. "Light" and "Light High Contrast" work well in brightly lit environments. "Dark" and "Dark High Contrast" work well in dimly lit environments. Valid values are Light, LightHighContrast, Dark, and DarkHighContrast. |
Dark |
|
TiltHorizontalThreshold (DWORD value) |
The TiltHorizontalThreshold entry specifies the number of degrees away from the horizontal plane that a device made for Surface can be tilted and still be detected by Surface Shell as horizontal. |
0 |
|
TiltVerticalThreshold (DWORD value) |
The TiltVerticalThreshold entry specifies the number of degrees away from the vertical plane that a device made for Surface can be tilted and still be detected by Surface Shell as vertical. |
90 |
Global UnknownUIExemptProcesses Subkey
| Entry | Description | Default value |
|---|---|---|
|
Drive:path/filename (DWORD value) |
This entry lists the processes that you want to exempt from suppression by Surface Shell. Each process that you list in this entry must be in the form of a DWORD value. The Name field of each entry should be the full path and name of the executable for the process that you want to exempt from unknown UI suppression. For more information about unknown UI suppression, see the UnknownUISuppression registry entry in this topic. For information about using this registry entry for Surface application debugging, see Before You Debug. Valid values are 1 to exempt a process from unknown UI suppression by Surface Shell, or 0 if it is not exempt. |
No default value |
Global MemoryManagerExemptApplications Subkey
| Entry | Description | Default value |
|---|---|---|
|
Application names (DWORD value) |
This entry specifies the list of applications that are exempt from the Surface memory manager. Each application that you list in this entry must be in the form of a DWORD value. The Name field of each entry should match the name of the application as it is specified in the shortcut to the ApplicationName.XML file, which is placed in the %ProgramData%\Microsoft\Surface\v2.0\Programs folder. For more information about this shortcut, see Registering a Surface Application with Surface Shell. Valid values are 1 to exempt an application from closing, or 0 if it is not exempt. By default, MemoryManagerExemptApplications is empty. |
No default value |
Profiles Registry Subkeys
You can add registry entries to the HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Surface\v2.0\Profiles registry key when you want to confine the configuration changes to a particular account profile. Depending on which account profile you want to add registry entries to, you must add one or all of the following subkeys under HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Surface\v2.0\Profiles:
Important |
|---|
| You must name your account profile subkeys exactly as they are listed here (Developer, SurfaceDebug, and SurfaceStandard). |
-
Developer - These registry entries will affect the device made for Surface when it is in Windows mode.
-
SurfaceDebug – These registry entries will affect the device made for Surface when it is in Surface mode with troubleshooting enabled.
-
SurfaceStandard – These registry entries will affect the device made for Surface when it is in Surface mode.
For more information about these profiles, see Account Profiles. For more information about editing entries in the registry, see the Global subkeys section of this topic.
It is important to note that most registry entry changes that you make while a user session is in progress will not go into effect until certain events occur, such as:
-
The user starts a new Surface Shell session or the current session times out.
-
The device is switched from Windows mode to Surface mode.
-
Surface Shell is restarted.
If you want to be confident that your registry changes take effect, you will need to restart Surface Shell. There are several ways to remotely restart the Surface user session:
To restart the Surface Shell process after you make registry changes
-
You can restart the device made for Surface by using one of the following command-line tools:
-
You can also restart the device made for Surface by using Remote Desktop Connection to connect to the device (which starts the session in Windows mode), and then double-click the Enter Surface Mode desktop shortcut (which closes the Remote Desktop connection and puts the device in Surface mode).
Profiles ApplicationProcessMonitoring Subkey
| Entry | Description | Profile default value |
|---|---|---|
|
DebugDumpTimeout (DWORD value) |
The DebugDumpTimeout entry specifies the maximum time that Surface Shell gives a debugger to generate debug dumps about applications that are failing (crashing) or not responding. This time-out is relevant only when a session is ending or an application is starting (an application is not responding if it did not call the SignalApplicationLoadingComplete method on time). In these situations, if Surface Shell detects an attached debugger, it waits until this time-out passes before it ends the process. If Surface Shell cannot end the process after that, Surface Shell enters an out-of-order state. For more information about setting this registry entry, see Dump File Time-Outs. Valid values range from 0 through 600 seconds. 0 seconds means that Surface Shell will wait forever for the application to exit if it is being debugged. |
Developer: 0 (never times out) SurfaceDebug: 0 (never times out) SurfaceStandard: 300 seconds Default: 300 seconds |
|
Disable (DWORD value) |
If the Disable entry is turned on, users do not receive a notification if an application fails or stops responding, Surface Shell does not automatically restart applications, and unresponsive applications are not ended. Valid values are 1 to turn on Disable or 0 to turn off Disable. |
Developer: 1 (turned on) SurfaceDebug: 1 (turned on) SurfaceStandard: 0 (turned off) Default: 1 (turned on) |
|
HangingTimeout (DWORD value) |
A Surface application is considered to have stopped responding if it did not respond to Windows messages during the HangingTimeout time period. Valid values range from 5 seconds through 300 seconds. |
All profiles set to 5 seconds by default |
|
LaunchDebuggerOnHang (DWORD value) |
The LaunchDebuggerOnHang entry determines whether the debugger that is associated with the optional DbgManagedDebugger registry entry should be started automatically if that application stops responding. For more information about debug dump time-outs, see Collecting Debug Dumps in Surface Mode. LaunchDebuggerOnHang enables you to create a debug dump file while the application is deployed in a customer-facing environment. If an application is randomly not responding and the developer who wrote the application cannot reproduce the problem, configure DbgManagedDebugger, enable LaunchDebuggerOnHang, and let customers or testers interact with the device made for Surface as usual. After the precipitating events recur (the application stops responding and a debug dump is generated), disable the LaunchDebuggerOnHang entry and review the debug dump results. For more information about configuring DbgManagedDebugger, see Debugging Crashing Surface Applications and Debugging Unresponsive Surface Applications. Valid values for this entry are 0 (false) and 1 (true).
|
All profiles set to 0 (false) by default |
CriticalProcessMonitoring ModeProfiles Hive
| Entry | Description | Profile default value |
|---|---|---|
|
DebugDumpTimeout |
Do not modify this registry key. |
|
|
Disable |
The Disable entry determines whether Surface Loader monitors Surface Shell or Surface Input for crashes or hangs, stops them when they hang, and restarts them when they crash or hang. Valid values for this entry are 0 and 1.
|
Administrator: Not supported. (This value applies only when Surface Loader is run, and Surface Loader does not run in administrator mode.) Default: 1 User: 0 UserDebug: 0 |
|
HangingTimeout |
Critical processes (Surface Shell and Surface Input) are considered to be hung if they have not responded during the HangingTimeout time-out period. If a critical process has stopped responding, the process is restarted, the RestartQuotaAttempts counter is incremented, and the RestartQuotaPeriod counter begins. If this restart exceeds the RestartQuotaAttempts value within RestartQuotaPeriod, the critical process is not restarted, and the error message is displayed on the unit, followed by the out-of-order message. Valid values for HangingTimeout range from 2 seconds through 60 seconds. |
Administrator: 5 seconds Default: 5 seconds User: 5 seconds UserDebug: 5 seconds |
|
LaunchDebuggerOnHang |
Do not modify this registry key. |
|
|
RestartQuotaAttempts |
The RestartQuotaAttempts entry specifies the number of times during the RestartQuotaPeriod period that critical processes are automatically restarted after they crash or hang. For information about how to set the time during which the restart attempts are counted, see RestartQuotaPeriod. (The default value is three attempts within 10 minutes.) Valid values for RestartQuotaAttempts range from 0 to MAX_DWORD, where 0 means never restart and go to the out-of-order state after the system first crashes or hangs and MAX_DWORD means always restart. |
Administrator: 3 Default: 3 User: 3 UserDebug: RestartQuotaAttempts is set to MAX_DWORD (always restart), and the RestartQuotaPeriod value is ignored |
|
RestartQuotaPeriod |
The RestartQuotaPeriod entry specifies the number of seconds during which critical processes are restarted after they fail or crash during a session. For information about how to set the number of restart attempts, see RestartQuotaAttempts. The default value is three restart attempts within 600 seconds (10 minutes). Valid values for RestartQuotaPeriod range from 5 through 86,400 seconds (24 hours). |
Administrator: 600 seconds Default: 600 seconds User: 600 seconds UserDebug: RestartQuotaAttempts is set to MAX_DWORD (always restart), so the RestartQuotaPeriod value is ignored. |
|
StartupGracePeriod |
The StartupGracePeriod entry specifies the time between when a critical process (Surface Shell and Surface Input) is started and when the HangingTimeout counter begins. Valid values for StartupGracePeriod range from 0 through 600 seconds (10 minutes). |
Administrator: 10 seconds Default: 10 seconds User: 10 seconds UserDebug: 10 seconds |
Profiles InactivityTimer Subkey
For more information about the HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Surface\v2.0\Profiles\<Profile_Name>\InactivityTimer subkey entries, see Configuring Surface Shell Time-Out Durations.
| Entry | Description | Profile default value | ||
|---|---|---|---|---|
|
AppWasLaunched (DWORD value) |
After a user opens an application from Launcher, the user may become distracted. If the user does not interact with Surface, the AppWasLaunched time period elapses. Then the Surface software sends an event to each open application and asks the application if it wants to time out and close. If none of the applications cancel this event, a new screen (the inactivity screen) appears that asks the user if they want to do one of the following:
Valid values are 0 (no time-out) or from 10 through 3,600 seconds (60 minutes). The AppWasLaunched scenario also applies if users return to Launcher after they close all applications or leave one or more applications running in the background. |
All profiles set to 120 seconds by default |
||
|
Exploration (DWORD value) |
The Exploration time-out begins when a user touches the access point and goes to Launcher from the Attract application. If the user does not select an application and does not interact with the Surface screen for the Exploration time-out, Surface Shell closes Launcher and displays the inactivity screen that is described for the AppWasLaunched registry entry. This screen offers users the choice to either continue their activity or start over their Surface session. Valid values are 0 (no time-out) or range from 10 through 3,600 seconds (60 minutes). |
All profiles set to 60 seconds by default |
||
|
InactivityUI (DWORD value) |
The InactivityUI entry specifies the maximum length of time that can elapse without a user touching either the Continue or the Start Over icon after an inactivity screen appears before Surface Shell closes the active applications and starts a new user session. If a user does not touch either the Continue or the Start Over icons within the InactivityUI interval, all running applications are closed and the Surface session is restarted.
Valid values are 0 (no time-out) or range from 10 through 3,600 seconds (60 minutes). |
Developer: 0 SurfaceDebug: 0 SurfaceStandard: 60 seconds Default: 60 seconds |
Profiles Shell Subkey
| Entry | Description | Profile default value | ||
|---|---|---|---|---|
|
ApplicationExitTimeout (DWORD value) |
By default, Surface Shell closes all connected applications that do not close within 5 seconds after Surface Shell issues the WM_CLOSE call. Valid values are 5 seconds or more.
|
All profiles set to 5 seconds by default |
||
|
AttractLoadingScreenTimeout (DWORD value) |
The AttractLoadingScreenTimeout entry specifies the time that the Attract application has to call the SignalApplicationLoadingComplete method after it has been started by Surface Shell. (For information about the entry to set time-out for applications other than the Attract application, see LoadingScreenTimeout.) Valid values range from 30 seconds to a maximum of 60 seconds.
|
All profiles set to 30 seconds by default |
||
|
EnableMemoryManager (DWORD value) |
The EnableMemoryManager entry is a DWORD value that determines whether Surface memory manager is enabled. By default, memory manager is enabled for the SurfaceDebug and SurfaceStandard account profiles. For more information about Surface memory manager, see Managing Surface Memory. Valid values are 0 (disabled) and 1 (enabled). |
Developer: 0 (disabled) SurfaceDebug: 1 (enabled) SurfaceStandard: 1 (enabled) Default: 0 (disabled) |
||
|
LoadingScreenTimeout (DWORD value) |
The LoadingScreenTimeout entry specifies the time that applications have to call the SignalApplicationLoadingComplete method after they have been started by Surface Shell. (LoadingScreenTimeout does not apply to the Attract application. For more information, see AttractLoadingScreenTimeout.) Valid values range from 10 seconds to a maximum of 300 seconds.
|
Developer: 10 SurfaceDebug: 10 SurfaceStandard: 10 Default: 10 |
||
|
MemoryManagerOverloadThreshold (DWORD value) |
The MemoryManagerOverloadThreshold entry specifies the memory threshold percentage when Surface Shell starts to close applications. When the total physical memory that is being used exceeds the percentage specified in MemoryManagerOverloadThreshold, the system is considered overloaded and Surface Shell starts to close applications. For more information about the Surface memory manager, see Managing Surface Memory. Valid values range from 0 to 100 decimal. (Because this entry is a percentage, you must type a value by using the decimal base, not the default hexadecimal base.) |
All profiles set to 60 percent by default |
||
|
SingleAppLoadingScreenTimeout (DWORD value) |
For devices made for Surface that are running in single-application mode, the SingleAppLoadingScreenTimeout entry specifies the time, in seconds, that the application has to load before the loading screen times out. If the loading screen exceeds the SingleAppLoadingTimeout value, the application process will be ended and a new instance started. For more information about configuring devices made for Surface that are running in single-application mode, see the SingleAppRestartPeriod and SingleAppRestartQuota registry entries. Valid values range from 1 to 60 seconds. |
All profiles set to 30 seconds by default |
Profiles UISuppression Subkey
| Entry | Description | Profile default value | ||
|---|---|---|---|---|
|
AutoShutdown (DWORD value) |
The AutoShutdown entry determines whether the "The following programs are still running" screen is suppressed during logoff (if applications have not been closed before the logoff request). Valid values are 0 (the "The following programs are still running" screen is displayed) and 1 (the "The following programs are still running" screen is suppressed). |
Developer: not applicable SurfaceDebug: 0 SurfaceStandard: 1 Default: 0 |
||
|
Beep (DWORD value) |
The Beep entry determines whether the Windows system beep is suppressed. For information about suppressing other Windows sounds besides beep, see the WindowsSounds registry entry. Valid values are 0 (system beeps can be heard through the speakers of the device made for Surface) and 1 (system beeps are suppressed and not sent to the speakers of the device made for Surface). |
Developer: not applicable SurfaceDebug: 0 SurfaceStandard: 1 Default: 0 |
||
|
CrashDump (DWORD value) |
The CrashDump entry determines whether Windows Error Reporting generates a crash report in the event of a crash. Valid values are 0 (generates a crash report automatically if the device made for Surface is not connected to the Internet) and 1 (report generation is suppressed). |
Developer: not applicable SurfaceDebug: 0 SurfaceStandard: 1 Default: 0 |
||
|
CrashUI (DWORD value) |
The CrashUI entry determines whether the Windows Error Reporting UI is suppressed. Valid values are 0 (Windows Error Reporting UI is displayed) and 1 (Windows Error Reporting UI is suppressed). |
Developer: not applicable SurfaceDebug: 0 SurfaceStandard: 1 Default: 0 |
||
|
FastBugCheck (DWORD value) |
The FastBugCheck entry specifies how briefly the device displays a blue screen if a stop error occurs. Valid values are 0 (disable) and 1 (enable).
|
Developer: not applicable SurfaceDebug: 0 SurfaceStandard: 0 Default: 0 |
||
|
FastRecoveryOptions (DWORD value) |
The FastRecoveryOptions entry determines whether the device made for Surface displays the standard Windows Error Recovery screen if a stop error, power failure, or other catastrophic event occurs. The following illustration shows the Windows Error Recovery screen.
Valid values are 0 (show the Windows Error Recovery screen for the default 30 seconds) and 1 (suppress the Windows Error Recovery screen).
|
Developer: not applicable SurfaceDebug: 0 SurfaceStandard: 1 Default: 0 |
||
|
FirewallPrompt (DWORD value) |
The FirewallPrompt entry determines whether the standard Windows Security Alert – Windows Firewall has blocked some features of this program dialog box appears when an application tries to accept an incoming connection that is not in the Windows Firewall exceptions list. The following illustration shows the Windows Firewall dialog box.
Suppressing this dialog box is equivalent to clicking Keep blocking. Valid values are 0 (show the Windows Firewall dialog box) and 1 (suppress the Windows Firewall dialog box). |
Developer: not applicable SurfaceDebug: 0 SurfaceStandard: 1 Default: 0 |
||
|
MousePointers (DWORD value) |
The MousePointers entry determines whether Surface Shell suppresses the mouse pointer. MousePointers does not affect whether the text input pointer appears. If an application calls for a text input pointer, it displays on the device made for Surface. Valid values are 0 (the mouse pointer is displayed) and 1 (you cannot see a mouse pointer that is activated by Windows 7 or any application on the device made for Surface). |
Developer: not applicable SurfaceDebug: 0 SurfaceStandard: 1 Default: 0 |
||
|
ProgramCompatibilityAssistant (DWORD value) |
The ProgramCompatibilityAssistant entry determines whether the Program Compatibility Assistant dialog boxes are shown or suppressed. The Program Compatibility Assistant is displayed if one of the following conditions exists:
Valid values are 0 (Program Compatibility Assistant displays) and 1 (Program Compatibility Assistant is suppressed). |
Developer: not applicable SurfaceDebug: 0 SurfaceStandard: 1 Default: 0 |
||
|
TaskManager (DWORD value) |
The TaskManager entry determines whether you can access Windows Task Manager. The easiest way to launch troubleshooting applications in Surface mode is to enable Windows Task Manager and run troubleshooting tools, such as a debugger or cmd.exe. (By default Windows Task Manager is disabled in Surface mode.) To launch troubleshooting applications with Windows Task Manager, click File, click New Task (Run), and in the Create New Task dialog box, type the full path to the troubleshooting application executable. Troubleshooting applications (including TaskMgr.exe) should run on a secondary monitor or be exempted from unknown UI suppression. For more information about exempting applications from unknown UI suppression, see the Global UnknownUIExemptProcesses Subkey section of this topic. Valid values are 0 (Task Manager is accessible) and 1 (Task Manager is not accessible).
|
Developer: not applicable SurfaceDebug: 0 SurfaceStandard: 1 Default: 0 |
||
|
TitleBarSuppression (DWORD value) |
The TitleBarSuppression entry determines whether Surface application pop-up windows and Surface Shell pop-up windows that have a title bar are suppressed. Valid values are 0 (pop-up windows that have title bars are displayed) and 1 (pop-up windows that have title bars are suppressed).
|
Developer: not applicable SurfaceDebug: 0 SurfaceStandard: 1 Default: 0 |
||
|
UACPrompt (DWORD value) |
The UACPrompt entry enables you to specifically control whether User Access Control prompts appear or are suppressed. If User Access Control prompts are suppressed, all elevation requests for permission are denied. Valid values are 0 (UAC prompts are displayed) and 1 (UAC prompts are suppressed). |
Developer: not applicable SurfaceDebug: 0 SurfaceStandard: 1 Default: 0 |
||
|
UnknownUIQuotaNumber (DWORD value) |
The UnknownUIQuotaNumber entry specifies how many unknown UI windows Surface Shell must suppress during the UnknownUIQuotaPeriod time period before the device made for Surface enters an out-of-order state. The default value is three unknown UI windows suppressed within 10 minutes. If a fourth unknown UI window is encountered during the 10-minute time period, the device made for Surface enters the out-of-order state. For information about how to set the number of minutes during which unknown UI windows are suppressed, see UnknownUIQuotaPeriod. Valid values range from 0 to MAX_DWORD. |
Developer: not applicable SurfaceDebug: 3 SurfaceStandard: 3 Default: 3 |
||
|
UnknownUIQuotaPeriod (DWORD value) |
The UnknownUIQuotaPeriod entry specifies the time period (in seconds) used to track Surface Shell suppressions of unknown UI windows. For example, if UnknownUIQuotaPeriod is set to 600 (10 minutes), and UnknownUIQuotaNumber is set to 3, then if Surface Shell suppresses more than 3 unknown UI windows within a 10 minute period, the device made for Surface enters an out-of-order state. Valid values range from 0 to MAX_DWORD (seconds). The default value is 600 seconds (10 minutes). |
Developer: not applicable SurfaceDebug: 600 SurfaceStandard: 600 Default: 600 |
||
|
UnknownUISuppression (DWORD value) |
By default, for the SurfaceStandard account profile, all Windows 7 prompts, User Account Control prompts, Windows Firewall prompts, access to Windows Task Manager, and automatic updates are suppressed automatically on a device made for Surface. However, you might have additional application UI (not Surface UI) that might appear. The UnknownUISuppression entry specifies whether you want to suppress this other UI. For information about how you can exempt some unknown UI, see the Global UnknownUIExemptProcesses Subkey section of this topic. Valid values are 0 (unknown UI are displayed) and 1 (unknown UI are suppressed). |
Developer: not applicable SurfaceDebug: 0 SurfaceStandard: 1 Default: 0 |
||
|
WindowsDiagnosticsResolverUI (DWORD value) |
The WindowsDiagnosticsResolverUI entry determines whether the Windows Diagnostic Infrastructure (WDI) built-in resolver UI is shown or suppressed. WDI captures trace event information. If a problem is detected, the WDI can take a snapshot of the buffered information and analyze it locally or upload it to Microsoft Customer Support. WDI displays a Send Error Report or Don't Send dialog box. Valid values are 0 (WDI resolver UI is displayed) and 1 (WDI resolver UI is suppressed). |
Developer: not applicable SurfaceDebug: 0 SurfaceStandard: 1 Default: 0 |
||
|
WindowsSounds (DWORD value) |
The WindowsSounds entry determines whether Windows system sounds are suppressed. Valid values are 0 (Windows system sounds are heard through the speakers of the device made for Surface) and 1 (Windows system sounds are suppressed and are not heard through the speakers of the device).
|
Developer: not applicable SurfaceDebug: 1 SurfaceStandard: 1 Default: 0 |
Did you find this information useful? Please send us your suggestions and comments.
© 2011 Microsoft Corporation. All rights reserved.

Note