What is Application Compatibility for Terminal Services?
Application Compatibility is the term given to the collection of issues which prevent an application from executing satisfactorily (or in an expected manner) in a given environment - in this case Windows Terminal Services (TS) platform.
TS is deployed for a variety of reasons such as reducing total cost of ownership (TCO), better security & compliance, enabling mobility, etc.
Following are some problems faced by client applications in a TS environment:
Client applications are generally written for a single user. Because TS is a multiuser system, this might cause synchronization problems.
Some applications are written with the assumption that their binaries are running with administrator privileges. In TS, a normal user is rarely given administrative privileges.
Behavior of some APIs is different in a TS server environment than in a client operating system. This might cause programs such as unexpected results from some operating system calls.
TS Application Analyzer
TS Application Analyzer is a runtime program analysis tool to enable administrators/users to determine if they can deploy an application on TS with confidence. It provides a summary of an application’s TS-incompatible behavior. The classes of application compatibility issues targeted for detection are:
Shared resources – files/registries
Windows API calls with special cases for TS
The tool does the following:
Enables administrators to analyze test runs on a given binary.
Determines whether the binary will face any problems when deployed on TS. If so, the tool determines the type of problem and its severity.
Summarizes the findings along with a recommendation.
The findings can be exported and analyzed at another computer (e.g. for analysis by a test team).
The tool can be deployed on a set of user computers or test computers (running the client OS or the TS server OS) seamlessly. The findings can be collected at the administrator’s computer. The administrator can then analyze the findings from all computers and decide whether the application should be deployed on TS or not.