Metering and Control Differences on Terminal Server
Overview
In a terminal server environment, the Express Client is installed on the terminal server machine. A separate instance of the metering/control client is run for each client machine that connects to the terminal server and metering data (application launches and terminations) are attributed to the connecting client. The result is that metering data generated in a terminal server environment is exactly the same as if each connecting client had its own Express Client running. Control, however, may act differently depending on how it was specified in a License Unit's authorization profile.
The following sections discuss a difference in metering behavior and several things you need to consider for control in a terminal server environment.
Client Installation
Client installation on a terminal server machine is no different than that on any other client. You can install the client directly from the Express Administrative Console as you would any workstation. As noted previously, each connected terminal server session will get its own instance of the Express metering/control client to meter and control that session's applications.
If you are running the Express Client on a Citrix server and are using Citrix Metaframe to publish applications, you need to add the location of emmeter.exe to the userinit line in the server machine's registry by doing the following:
- Open the registry by clicking Start/Run and entering regedit.exe
- Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
- Locate the Userinit string, right-click and select Modify
- Add the location of emmeter.exe (for example, C:\windows\system32\wex4962\emmeter.exe) to the end of the existing string and OK the dialog to close it
- Close the registry editor
Important
Note: Be careful when editing this line, as an error here could prevent the Windows user interface from loading properly.
Offline Metering Behavior
The only difference between terminal server and non-terminal server configurations for metering is offline caching. Offline caching is any situation where the machine running the metering client is not able to connect to the Express Access Point. On non-terminal server machines, if the metering client cannot connect to the access point (such as when a laptop is disconnected from the network), the metering client caches application launch data and sends it up as soon as connection with the access point is reestablished. In a terminal server envionronment, if the access point is not accessible, metering data is not cached by the metering clients running on behalf of the connected client machines.
Use of Machine-based Control
Control is implemented in Express Software Manager via a set of rules called an authorization profile. An authorization profile defines control behavior such as warn or lock out as well as the set of machines or users that is to be allowed to or not allowed to run an application. A license unit is then assigned an authorization profile to specify its control behavior.
Express Metrix recommends you use user-based control in a terminal server environment. While machine based control will work, it relies on the client being able to validate against the database at launch time whether or not a launch is allowed. There are situations where the mechanism that handles the launch check may not be able to contact the database; in such situations, machine-based control may not work as expected.
- Express Access Point Offline - If the client cannot communicate with the Express Access Point, machine-based control is no longer enforced. Under normal operation, this is not a problem, however, should the machine on which the access point is installed go down, control will be disabled. Once the connection with the access point is reestablished, machine-based control is again enabled.
- Preemptive Control Disabled - If you have disabled preemptive control on the terminal server machine, you should not use machine-based control. In this case the metering client uses locally cached control information to determine whether or not to terminate the launch; this information is shared between all connecting terminal server clients and may produce unexpected results based on which client machine has launched the application.