Many applications don't take Terminal Services into account and store user-customizable components on the C drive of the computer. These components can include templates, macros, and dictionary files. On a workstation, if a user modifies any of these files, the change would also affect any other user that logs on to the same computer. But on a terminal server, changes would also affect any other users logged on simultaneously. This behavior can create problems when these files are in use by one user and can't be accessed by the instance of the application running in another user's session.
Application compatibility scripts compensate for this problem by copying these components to a location that is unique for each user (usually the home directory), then instructing the application about where to find the new copies. You can also use application compatibility scripts to grant user access to certain file and registry locations that are restricted under Terminal Services.
The fact that most application vendors are now complying with the Windows Logo specification is demonstrated by the reduced the number of application compatibility scripts included with Windows. You can find the remaining scripts in C:\WINNT\Application Compatibility Scripts (see Figure 5.5). The scripts are divided into three groups:
• Install—These scripts make system-level changes and add entries to USRLOGON2.CMD if the application also requires a logon application compatibility script for each user.
• Logon—These scripts are called by USRLOGON2.CMD upon user logon; they copy user components to the ROOTDRIVE and make HKEY_CURRENT_USER registry changes.
• Uninstall—These scripts remove the calls to the logon scripts from USRLGON2.CMD when you no longer need the application compatibility script to run.
Was this article helpful?