You work with a Windows Server 2008-based computer that has multiple processors.
The Terminal Service role is enabled on the computer.
You try to run a legacy application that does not have the /TSAWARE option enabled in a terminal session.
In this scenario, when the legacy application starts, it may randomly encounter an access violation.
If the /TSAWARE option is not enabled when an application is compiled, the application is considered a legacy application for the terminal service. When a legacy application is started in a terminal session, the Tsappcmp.dll module inserts hooks on the function calls of this legacy application for terminal service application-compatibility purposes.
A race condition may occur in the Tsappcmp.dll module when hooked functions are running. This race condition causes legacy applications to encounter access violations.
A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing the problem described in this article. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.
If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, contact Microsoft Customer Service and Support to obtain the hotfix.
Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft Web site:
Note The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.
Important Windows Vista and Windows Server 2008 hotfixes are included in the same packages. However, only one of these products may be listed on the “Hotfix Request” page. To request the hotfix package that applies to both Windows Vista and Windows Server 2008, just select the product that is listed on the page.
The computer must be running Windows Server 2008 to apply this hotfix. Additionally, the Terminal Service role must be installed.
You must restart the computer after you apply this hotfix.
Hotfix replacement information
This hotfix does not replace any previously released hotfixes.
You do not have to make any changes to the registry.
The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.
Windows Server 2008 file information note
The MANIFEST (.manifest) files and MUM (.mum) files that are installed for each environment are listed separately. MUM and MANIFEST files and their associated security catalog (.cat) files are critical to maintaining the state of the updated component. The security catalog files are signed with a Microsoft digital signature. The attributes of these files are not listed.
Windows Server 2008, x86-based versions
Windows Server 2008, x64-based versions
To work around the issue, recompile the problematic application to enable the /TSAWARE option.
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
For more information about the /TSAWARE option, visit the following Microsoft Developer Network (MSDN) Web site:
Windows Server 2008 Datacenter without Hyper-V, Windows Server 2008 Enterprise without Hyper-V, Windows Server 2008 Standard without Hyper-V, Windows Server 2008 Datacenter, Windows Server 2008 Enterprise, Windows Server 2008 Standard