Thin Client Registry Settings
The registry stores information necessary to configure the Thin Client for applications and hardware devices. The registry also contains information that the operating system continually references during operation.
By default, the Windows Thin Client image includes the correct components. You change these settings to customize the thin client.
You can change the device registry settings in the following ways:
- Before building and downloading the image, modify the Project.reg file. For more information about modifying this file, see Modifying the Registry by Editing Project.reg.
- After downloading the image, use the Remote Registry Editor. Using the Remote Registry Editor changes the image registry, but the changes are not persistent to the registry files in Platform Builder. The next time you download the image, you must configure the registry again. For information about how to use the Remote Registry Editor, see Remote Registry Editor.
The following table shows the areas that you can configure in the registry.
Configure | Description |
---|---|
Configuring the Control Panel | Configure the Control Panel utility, the Control Panel wizard, and the Control Panel property utilities. |
Configuring the Terminal Services Client | Configure the Terminal Services Client to run in a Windows Thin Client Shell. |
Configuring the Windows Thin Client Shell | Configure startup behavior, hot key settings, and screen savers. |
Configuring Client Information | Configure the default client to appear when the user creates a new connection. |
Configuring Printers | Both the Add Printer Wizard (APW) and Setup user interfaces (UIs) are backed by logic that reads and writes printer information. Additional printer manufacturers and models can be added to ntprint_parsed.txt, and built into the run-time image (NK.BIN).
Do not add new printers by adding registry settings. Instead, add new printers by using the Add Printer wizard. Depending on the printer added, this wizard adds critical binary data to the registry that is used for the redirected printing. |
Note The default registry values vary depending on which features are included in your platform. For more information, see Default Registry Settings.
You should add a printer through the printer wizard rather than configure it in the registry. Registry settings for installed printers are provided for your convenience.
Configuring the Control Panel
The HKEY_LOCAL_MACHINE\SYSTEM\CtlpnlApplet registry key is the base registry key for the Control Panel utility. The following table shows the named value.
Value | Description |
---|---|
SingleInstance: DWORD | Default setting is zero (0). |
The HKEY_LOCAL_MACHINE\SYSTEM\CtlpnlApplet\WizCplApplet registry key controls the Control Panel wizard. The following table shows the named values.
Value | Description |
---|---|
CplApplet0 | Default setting is LOC_WBTSHELL_CPL_NETWORK. |
CplApplet1 | Default setting is LOC_WBTSHELL_CPL_PRINTERS. |
The HKEY_LOCAL_MACHINE\SYSTEM\CtlpnlApplet\TermPropCplApplet registry key controls the Control Panel property utilities. The following table shows the named values.
Value | Description |
---|---|
CplApplet0 | Default setting is LOC_WBTSHELL_CPL_NETWORK. |
CplApplet1 | Default setting is LOC_WBTSHELL_CPL_PRINTERS. |
CplApplet0 | Default setting is LOC_WBTSHELL_CPL_NETWORK. |
CplApplet1 | Default setting is LOC_WBTSHELL_CPL_PRINTERS. |
CplApplet2 | Default setting is LOC_WBTSHELL_CPL_KEYBOARD. |
CplApplet3 | Default setting is LOC_WBTSHELL_CPL_SYSTEM. |
CplApplet4 | Default setting is LOC_WBTSHELL_CPL_MOUSE. |
CplApplet5 | Default setting is LOC_WBTSHELL_CPL_VOLUMEANDSOUNDS. |
CplApplet6 | Default setting is LOC_WBTSHELL_CPL_DATETIME. |
CplApplet7 | Default setting is LOC_WBTSHELL_CPL_ACCESSIBILITY. |
CplApplet8 | Default setting is LOC_WBTSHELL_CPL_REGIONAL. |
CplApplet9 | Default setting is LOC_WBTSHELL_CPL_CERTIFICATES. |
CplApplet10 | Default setting is LOC_WBTSHELL_CPL_DEVICE_MANAGEMENT. This value is present only if Device Management components are included in the image, that is, the image is built with SYSGEN_DEVMGMT set to 1. |
Note You can add Control Panel utilities by adding additional entries to this registry key. You can include any of the components listed in Control Panel Components. For an example of how to add a control panel utility in the projects.reg file, see Customizing the Thin Client OS Image.
Configuring the Terminal Services Client
The Terminal Services Client is controlled by the Terminal Server Client node in the registry. The HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server Client registry key controls the configuration of the Terminal Services Client. The following table shows the named values.
Value | Description |
---|---|
CEConfig | Default setting is "WBT". The following list shows the available settings.
The following list shows the behavior when this setting is WBT:
The following list describes issues that a Windows Thin Client might encounter if this value is set to "Maxall":
|
**Note **Windows CE .NET 4.2 does not use the CEUseScanCodes registry key.
The following code example shows the registry settings in Rdp.reg that associate .rdp files with CETSC.
[HKEY_CLASSES_ROOT\.rdp]
@="rdpfile"
[HKEY_CLASSES_ROOT\rdpfile]
@=LOC_RDPCONNECTION
[HKEY_CLASSES_ROOT\rdpfile\DefaultIcon]
@="\\Windows\\cetsc.exe,-101"
[HKEY_CLASSES_ROOT\rdpfile\Shell\Open\Command]
@="\\Windows\\cetsc.exe %1"
For more information about RDP Registry Settings, see RDP Registry Settings.
Configuring the Windows Thin Client Shell
The HKEY_LOCAL_MACHINE\Software\Microsoft\WBT\Shell registry key configures the Windows Thin Client Shell.
Note Microsoft does not recommend changing the default values for these registry settings without careful study of the environment as adjusting registry parameters may adversely affect system performance.
The following table shows the named values. These values are optional.
Value | Description |
---|---|
ConnectionDefaultKey: REG_SZ | No default setting. This value specifies the connection key for the default connection. |
ConnectionDefaultType: REG_SZ | No default setting. This value specifies the connection type for the default connection. It must specify the name of the registered client entry. Do not confuse this value with the Type entry of a registered client. |
DisableConfigureTab: REG_DWORD | Default setting is zero (0). The following list shows the possible values:
|
EnableAutoConnect: REG_DWORD | Default setting is zero (0). The following list shows the possible values:
This value is optional. |
EndTaskWaitTime: REG_DWORD | Default setting is 10,000. This value specifies the amount of time, in milliseconds, between the time the user chooses the End button and the shell prompts the user to Wait, EndTask, or Cancel if the process has not ended.
This value is optional. |
SetupExe: REG_SZ | Default setting is Wbtsetup.exe. This value specifies the name of the Setup Properties Sheets executable file. |
SetupCmdLine: REG_SZ | No default setting. This value specifies the command-line parameters to pass to the program that is specified by SetupExe.
This value is optional. |
TaskmanTitle: REG_SZ | Default setting is "Terminal Connection Manager". This value specifies the text to display in the title bar of the Connection Manager. You must end the name with the words "Connection Manager".
Although this value is optional, Microsoft recommends that you enter a value to avoid an undesirable default value. |
Hot Key Values | For information about setting the named values related to hot keys, see the section on configuring hot keys below. |
Screen Saver Values | For information about setting the named values related to screen savers, see the section on configuring screen savers below. |
For more information about configuring the Windows Thin Client Shell, see Customizing the Thin Client OS Image.
Configuring Hot Keys
You must provide hot-key support to the user. At minimum, you must set the default hot key connection for each Windows Thin Client device in the registry. You can modify these connections if you wish.
You must also provide a UI in the Setup Property Sheets by which the user can enable hot-key support or make it unavailable. You have the option of making the hot keys configurable.
The following table shows the default hot-keys used to switch tasks between emulator sessions and process management. These keys are used when a user creates and ends sessions.
Default Hot Key | Description |
---|---|
CTRL+ALT+END | Brings the Windows Thin Client Shell UI to the foreground.
Security Note The Thin Client shell sends the CTRL+ALT+DEL key combination to the Terminal Server host machine to present the Windows Security dialog. |
CTRL+ALT+UP ARROW | Switches to the next active session without bringing the shell forward. The next active session is the session that is above the current session, as viewed from the shell UI. |
CTRL+ALT+DOWN ARROW | Switches to the next active session without bringing the shell forward. The next active session is the session that is below the current session, as viewed from the shell UI. |
CTRL+ALT+HOME | Switches to the default connection, if it is running. If it is not running, then the shell starts the connection. |
The hot key settings are stored in the following registry key:
HKEY_LOCAL_MACHINE\Software\Microsoft\WBT\Shell.
The following table shows the named values for this registry key. No restart is required when you change these settings.
**Note **The shell allows for three hot keys to be specified. You can enable either all three of them or none of them. You cannot enable one or two hot keys. For hot-key support to be enabled, all of the hot keys must be registered successfully. If any key fails to register as a hot key, then hot-key support is unavailable.
Value | Description |
---|---|
HotKeyEnable: REG_SZ | Default setting is zero (0). This value specifies whether to enable hot-key support. If this value is greater than 0, then hot-key support is enabled. If this value equals 0, then hot-key support is made unavailable.. |
HotKey1VKey: REG_DWORD | Default setting is 0x26 (VK_UP). This value specifies the virtual-key code of the hot key that delivers an "up" action. This hot key brings the next active session forward so that it is above the current session, relative to the shell UI. If the session reaches the top of the list, then it goes to the bottom of the list and continues upward. |
HotKey1fMod: REG_DWORD | Default setting is 0x03. This value specifies the key-state modifiers for the hot key that is specified by the HotKey1Vkey value. The following list shows the key modifiers and their values:
You can specify any combination of these modifiers for the virtual key. You must run the OR operator on the desired modifiers to produce a single value. For example, to generate a hot-key message for the CTRL+ALT+PAGE UP key combination, you must specify the following hot-key values.
|
HotKey2VKey: REG_DWORD | Default setting is 0x28 (VK_DOWN). This value specifies the virtual-key code of the hot key that delivers a "down" action. This hot key brings forward the next active session that is below the current session, relative to the shell UI. If the session reaches the bottom of the list, then it goes to the top of the list and continues downward. |
HotKey2fMod: REG_DWORD | Default setting is 0x03. This value specifies the key-state modifiers for the hot key that is specified by the HotKey2Vkey value. For more information, see the HotKey1fMod value. |
HotKey3VKey: REG_DWORD | Default setting is 0x24 (VK_HOME). This value specifies the virtual-key code of the hot key that delivers a "home" action. This hot key brings forward the default session. If the default connection is not active, then the shell activates it and brings it forward. |
HotKey3fMod: REG_DWORD | Default setting is 0x03. This value specifies the key-state modifiers for the hot key that is specified by the HotKey3Vkey value. |
Configuring Screen Savers
The Windows Thin Client Shell supports screen savers. If you want the shell to load a screen saver after a specified period of time, you must include the dynamic-link library (DLL) of the screen saver in your image. You must also configure the registry to support the screen saver. The following registry key shows the required settings for Windows Thin Client.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power]
"BattPowerOff"=DWORD:0
"ExtPowerOff"=DWORD:0
"ScreenPowerOff"=DWORD:300
The ScreenPowerOff registry entry specifies the amount of time, in seconds, that must elapse with no user input before the shell starts the screen saver. To prevent the network from resetting the no-activity timer, the following registry setting must be entered.
[HKEY_LOCAL_MACHINE\Comm\CXport]
"NoIdleTimerReset"=DWORD:1
When the user presses the CTRL+ALT+END key combination, the Windows Thin Client Shell brings the shell UI to the foreground. To configure this key combination, set the following registry entries.
[HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\KEYBD]
"DriverName"="Kbdmouse.dll"
"CalVKey"=DWORD:0
"ContLessVKey"=DWORD:0
"ContMoreVKey"=DWORD:0
"TaskManVKey"=DWORD:23
The HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBT\Shell registry key configures the screen saver for the thin client shell. The following table shows the named values.
Value | Description |
---|---|
ScreenSaver (REG_SZ) | This value specifies the DLL to load when starting the screen saver. This value is entered at build time.
The following list shows the three screen savers that are included with the Windows-based Terminal user interface source; you can use one of these as the screen saver:
To include one of these screen savers, list the name of the desired screen saver in the RDP_MODULES environment variable (%_PROJECTROOT%\Oak\Misc\Cesysgen.bat). |
ScreenSaverEnable (REG_DWORD) | This value specifies whether to enable the screen saver. If this value is equal to 0, then the screen saver is not enabled. If it is greater than 0, then the screen saver is enabled and the shell attempts to load the screen saver specified. Because the shell queries this registry every time that it receives a WM_POWERBROADCAST message, thiscan be changed dynamically. |
Configuring Thin Client Startup Behavior
You can configure the shell to start applications automatically prior to launching the user interface (UI). Use this functionality for applications that require a UI, such as the Windows Thin Client Setup Wizard, and that must run before the shell UI is started. Applications that do not require a UI must start as part of the Windows CE initialization process.
For each application that you want to start automatically, you must create a unique key in the HKEY_LOCAL_MACHINE \Software\Microsoft\WBT\Shell\Startup key.
The key name is converted to an integer by the shell, and should therefore be a name that is converted easily; for example, 1, 10, or 20. Each Startup key represents an index that specifies the order in which an application must be started. The key name can represent an integer of 1 or greater; indexes are not required to be sequential. The shell first starts the application that has the lowest index value, and works its way up to the application that has the highest index value.
The following is an example of some application Startup keys.
[HKEY_LOCAL_MACHINE \Software\Microsoft\WBT\Shell\Startup\10]
[HKEY_LOCAL_MACHINE \Software\Microsoft\WBT\Shell\Startup\20]
[HKEY_LOCAL_MACHINE \Software\Microsoft\WBT\Shell\Startup\21]
The following table shows the entries that you must add to each Startup key.
Note If the required values are either not set or are not valid, then the shell ignores the value and no error is posted to the user.
Value | Description |
---|---|
Application: REG_SZ | No default setting. This value specifies the executable file to start automatically.
This value is required. |
CmdLine: REG_SZ | No default setting. This value specifies the command-line arguments to pass to the application that is specified by Application.
This value is optional. |
WaitOnProcess: REG_DWORD | No default setting. The following list shows the possible values:
This value is required. |
Configuring Client Information
The root key, HKEY_LOCAL_MACHINE\Software\Microsoft\WBT\Clients\Registration, contains information that the shell uses to determine registered clients. The following table shows the named values.
Value | Description |
---|---|
DefaultClient: REG_SZ | No default setting. This value specifies the registered client key to designate as the default client when a user creates a new connection. For example, to set the default client to RDP, this value would be RDP.
Do not confuse this key name with the Type entry of a registered client. |
From the HKEY_LOCAL_MACHINE\Software\Microsoft\WBT\Clients\Registration root, each client must have its own subkey with a unique name. This subkey contains the information about the client and about each connection that has been defined for it.
The following are examples of client information keys.
[HKEY_LOCAL_MACHINE\Software\Microsoft\WBT\Clients\Registration\RDP]
[HKEY_LOCAL_MACHINE\Software\Microsoft\WBT\Clients\Registration\VT100]
[HKEY_LOCAL_MACHINE\Software\Microsoft\WBT\Clients\Registration\3270]
The HKEY_LOCAL_MACHINE\Software\Microsoft\WBT\Clients\Registration\Your client name registry key contains client information. If the entry of a client is incomplete or invalid, then the shell ignores the client, and a user is not able to create connections that are based on it. No error message is posted if the shell encounters a client that is not properly configured.
The following table shows the named values for a client.
Value | Description |
---|---|
Description: REG_SZ | No default setting. This value specifies the display name for the client. For example, the display name for Microsoft RDP might be "Microsoft Remote Desktop Client." When creating connections, a user is presented with the list of emulators and their descriptions.
This value is required. |
Type: REG_SZ | No default setting. This value specifies the short eight-character description for the client. This information is displayed in the Type column of the Windows Thin Client Shell user interface (UI).
This value does not need to match the name in the client key. For example, two VT100 clients might have the client key names of VT100a and VT100b, but the Type value can be VT100 for both clients. This value is required. |
NewExe: REG_SZ | No default setting. This value specifies the helper application to call when creating a new connection. Each client must have a helper application for creating new connections. The helper application for creating new connections must be a wizard.
This value is required. |
NewCmdLineArgs: REG_SZ | No default setting. This value specifies the command-line arguments to pass to the helper application that is specified by the NewExe value. The command-line arguments can specify the required function. This is useful if you want to provide a helper application to create, edit, and delete connections.
This value is optional. |
The following code example shows the client information key that is required for RDP:
[HKEY_LOCAL_MACHINE\Software\Microsoft\WBT\Clients\Registration\RDP]
"Description"="Microsoft Remote Desktop Client"
"Type"="RDP"
"NewExe"="Tsconwiz.exe"
"NewCmdLineArgs"=""
The Windows Thin Client Shell also requires information about how to start, edit and delete each connection that it manages. This information is specified in the HKEY_LOCAL_MACHINE\Software\Microsoft\WBT\Clients\Registration\Your client name\Connections\Your connection name registry key.
You must create a Connections key in the root of each registered client. Each subkey in the Connections key represents a connection entry. The client's connection key must contain all values that are required by the shell. Each client must maintain its connection key. If subkey entries for a client are changed, the system does not need to be reset.
The shell enumerates the Connections key to determine the list of connections that are defined for each client. The shell updates the connection information of a client after an add operation, an edit operation, or a delete operation by a user.
Connection named values must be placed in the root of the key defined for each connection. If the registry values of a connection are incomplete or are not valid, then the shell will ignore the connection and the connection will not be listed in the shell. However, an error message is not posted to the user if the shell encounters an improperly configured connection.
The following table shows the named values for each Connections key. These values are required.
Value | Description |
---|---|
Description: REG_SZ | No default setting. This value specifies the display name for the connection. The Windows Thin Client Shell displays connections by names that are obtained from this value. |
StartExe: REG_SZ | No default setting. This value specifies the executable file to launch when creating a new connection. |
StartCmdLineArgs: REG_SZ | No default setting. This value specifies the command-line arguments to pass to the executable that is specified by the StartExe value. |
PropertiesExe: REG_SZ | No default setting. This value specifies the helper application to call when modifying the properties or editing an existing connection. |
PropertiesCmdLineArgs: REG_SZ | No default setting. This value specifies the command-line arguments to pass to the helper application that is specified by the PropertiesExe value. |
DeleteExe: REG_SZ | No default setting. This value specifies the helper application to call when deleting a connection. |
DeleteCmdLineArgs: REG_SZ | No default setting. This value specifies the command-line arguments to pass to the helper application that is specified by the DeleteExe value. |
Configuring Printers
Both the Add Printer Wizard (APW) and Setup user interfaces (UIs) are backed by logic that reads and writes printer information. Additional printer manufacturers and models can be added to ntprint_parsed.txt, and built into the run-time image (NK.BIN). The printer name must be identical to the printer name of the server, so that the correct driver can be loaded onto the server during a redirected print operation.
The registry settings for the installed printers are stored in the HKEY_LOCAL_MACHINE\WBT\Printers\DevConfig\<LPT#> subkey, where <LPT#> indicates any physical port that is available on the Windows Thin Client. For example, LPT1, or LPT2.
Do not add new printers by adding registry settings. Instead, add new printers by using the Add Printer wizard. Depending on the printer added, this wizard adds critical binary data to the registry that is used for the redirected printing.
Addition of a new printer through the wizard has additional associated logic in RDP. Binary data associated with the printer is stored in HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server Client\Default\AddIns\RDPDR under the named value PrinterCacheData0.
For details regarding the format of this data refer to %_WINCEROOT%\Public\Rdp\Oak\Uit\Wbttscmn\Printerhelper.cpp
The following table shows values that are created and used internally by the Windows Thin Client components. These values should never be modified using the Registry Editor. They are listed here for reference only.
Value | Description |
---|---|
Name | Default is the user-defined "friendly name" of the printer. This name is optional. |
Driver | Default is the Microsoft Windows model name of the printer. This name is required. |
Default | Default is 1. Indicates the default local printer. This is the printer associated with the port name that is the default value ("@") of the HKEY_LOCAL_MACHINE\WBT\Printers\Default subkey. If this value or key does not exist, then no local printer is the default printer. |
The following table shows the value that is created and used internally by the Windows Thin Client components. This value should never be modified using the Registry Editor. It is listed here for reference only. This entry is located under the HKEY_LOCAL_MACHINE\WBT\Printers key.
Value | Description |
---|---|
Default | Indicates the physical port that is associated with the default printer on the Windows Thin Client. For example, LPT1:, LPT2:, and so forth. |
See Also
Windows Thin Client Configuration | Customizing the Thin Client OS Image | RDP Registry Settings
Last updated on Wednesday, April 13, 2005
© 2005 Microsoft Corporation. All rights reserved.