A legacy application may randomly encounter an access violation in a Windows Server 2008 terminal session when the application starts

Applies to: Windows Server 2008 Datacenter without Hyper-VWindows Server 2008 Enterprise without Hyper-VWindows Server 2008 Standard without Hyper-V


Consider the following scenario:
  • 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.


Hotfix information

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.

Restart requirement

You must restart the computer after you apply this hotfix.

Hotfix replacement information

This hotfix does not replace any previously released hotfixes.

Registry information

You do not have to make any changes to the registry.

File information

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
File nameFile versionFile sizeDateTimePlatform
Windows Server 2008, x64-based versions
File nameFile versionFile sizeDateTimePlatform


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.

More Information

For more information about the /TSAWARE option, visit the following Microsoft Developer Network (MSDN) Web site:For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:

824684 Description of the standard terminology that is used to describe Microsoft software updates

Additional files for all supported x86-based versions of Windows Server 2008

File nameFile versionFile sizeDateTimePlatform
Package_for_kb967471_server_0~31bf3856ad364e35~x86~~ applicable1,41905-Feb-200913:23Not applicable
Package_for_kb967471_server~31bf3856ad364e35~x86~~ applicable1,43005-Feb-200913:23Not applicable
X86_microsoft-windows-t..lservices-appcompat_31bf3856ad364e35_6.0.6001.22369_none_3a777adb5665696b.manifestNot applicable38,07805-Feb-200906:01Not applicable

Additional files for all supported x64-based versions of Windows Server 2008

File nameFile versionFile sizeDateTimePlatform
Amd64_microsoft-windows-t..lservices-appcompat_31bf3856ad364e35_6.0.6001.22369_none_9696165f0ec2daa1.manifestNot applicable38,09405-Feb-200906:41Not applicable
Package_for_kb967471_server_0~31bf3856ad364e35~amd64~~ applicable1,42705-Feb-200913:23Not applicable
Package_for_kb967471_server~31bf3856ad364e35~amd64~~ applicable1,43805-Feb-200913:23Not applicable