Microsoft KB Archive/919953

From BetaArchive Wiki

Article ID: 919953

Article Last Modified on 10/26/2007



APPLIES TO

  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)



SUMMARY

This article describes how to resolve a problem that occurs when an application that runs in a Terminal Services environment stops running or runs slower than expected in Microsoft Windows Server 2003.

This article describes the following about this hotfix release:

  • The issues that are fixed by this hotfix package
  • The prerequisites for installing the hotfix package
  • Whether you must restart the computer after you install the hotfix package
  • The files that are contained in the hotfix package

This article describes the following detailed information about how to configure this hotfix release:

  • How to verify that the system is experiencing this specific problem
  • How to install the Microsoft Application Compatibility Toolkit
  • How to use the Application Compatibility Toolkit to configure this hotfix release

This article also provides two methods that you can you use to work around this problem.

SYMPTOMS

An application that runs in a Terminal Services environment stops running or runs slower than expected in Windows Server 2003.

This problem occurs if the following conditions are true:

  • The %homepath% directory is set in a user's Terminal Services profile.
  • The application extensively reads or writes from the Win.ini file or from the .ini files that are in a per-user Windows directory on a Windows Server 2003-based computer that is running Terminal Services.
  • The application accesses .ini files by using the GetProfileString function or the GetPrivateProfileString function.
  • The %homepath% directory references a server across a high-latency link.

You do not experience this problem when the application is running in Microsoft Windows 2000 or in an earlier version.

CAUSE

This problem occurs for applications that are hard-coded to use the %systemroot%\Win.ini file or a customized .ini file. To avoid sharing violations, these applications automatically receive a copy of the Win.ini file that is stored in the user's Terminal Services %homepath%\Windows directory. If the application accesses the Terminal Services %homepath%\Windows directory across a high-latency connection, the read and write operations may be slow. Therefore, application performance may be slower than expected.

RESOLUTION

To resolve this problem, follow these steps:

  1. Verify that the system is experiencing this specific problem. To do this, follow these steps:
    1. Use File Monitor (Filemon.exe) or a similar file monitoring tool to filter for the Win.ini file or for the .ini file that the application uses.
    2. Verify that the read and write operations access the .ini file in the user's Terminal Services %homepath%\Windows directory when the application is running.
  2. Install the Microsoft Application Compatibility Toolkit.
  3. Install the hotfix that is described in this section.
  4. Use the Application Compatibility Toolkit to configure the hotfix.

Note See the "More information" section for detailed information about how to perform steps 2 and 4.

Service pack information

To resolve this problem, obtain the latest service pack for Windows Server 2003. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

889100 How to obtain the latest service pack for Windows Server 2003


Hotfix information

Prerequisites

There are no prerequisites for this hotfix.

Restart requirement

You must restart the computer after you apply this hotfix.

Hotfix replacement information

This hotfix does not replace any other hotfixes.

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 2003
File name File version File size Date Time Platform
Acgenral.dll 5.2.3790.571 1,835,008 04-Aug-2006 13:47 x86
Sysmain.sdb Not Applicable 1,211,490 04-Aug-2006 13:48 Not Applicable
Windows Server 2003 with Service Pack 1 (SP1)
File name File version File size Date Time Platform SP requirement
Acgenral.dll 5.2.3790.2764 1,860,608 04-Aug-2006 13:48 x86 SP1
Sysmain.sdb Not Applicable 1,348,420 04-Aug-2006 13:52 Not Applicable SP1


WORKAROUND

To work around this problem, use one of the following methods:

  • If the application only has to read from the Win.ini file, redirect the Win.ini file from the %homepath% directory to the system-wide Win.ini file that is located in the %systemroot% directory For more information about how to redirect the Win.ini file, click the following article number to view the article in the Microsoft Knowledge Base:

    186498 Terminal Server application integration information

  • Disable use of the Terminal Services %homepath% directory. To do this, follow these steps:
    1. Click Start, click Run, type dsa.msc, and then click OK.
    2. In the console tree, click Users.
    3. Double-click the name of the user whose %homepath% directory you want to change.
    4. On the Terminal Services Profile tab, delete the %homepath% entry in the Profile Path box, and then click OK.


STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the "Applies to" section. This problem was first corrected in Windows Server 2003 Service Pack 2.

MORE INFORMATION

How to download and install the Application Compatibility Toolkit

Install the Application Compatibility Toolkit before you install the hotfix that is described in the "Resolution" section. To download the Application Compatibility Toolkit, visit the following Microsoft Web site:

To install the Application Compatibility Toolkit, follow these steps:

  1. Double-click the Microsoft Application Compatibility Toolkit.msi file that you downloaded, and then click Run.
  2. Click Next, click I accept the terms in the license agreement, and then click Next.
  3. Type a user name in the User Name box, type an organization name in the Organization box, and then click Next.
  4. Click Complete, click Next, and then click Install.
  5. Click Finish. The Application Compatibility Toolkit starts.
  6. Exit the Application Compatibility Toolkit.

How to use the Application Compatibility Toolkit to configure the hotfix

Download and then install the hotfix that is described in the "Resolution" section. After you install the hotfix, use the Compatibility Administrator to configure the hotfix. To do this, follow these steps:

  1. Click Start, point to All Programs, point to Microsoft Application Compatibility Toolkit 4.1, point to Tools, and then click Compatibility Administrator.
  2. In the Custom Databases node in the console tree, right-click New Database, point to Create New, and then click Application Fix.
  3. In the Name of the program to be fixed box, type the application name.
  4. In the Name of the vendor for this program box, type the vendor name.
  5. Browse the Program file location, click the path and the name of the application, click Open, and then click Next.
  6. In the Operating System Modes box, click None, and then click Next.
  7. In the Compatibility Fix box, click RedirectUserWindirToProfile, click Next, and then click Finish.
  8. In the Custom Databases node in the console tree, click to select the database that you created in steps 2 through 7, and then click Save.
  9. In the Database Name box, click Save, type a descriptive database name, such as ApplicationIniFix, and then click OK.
  10. In the Save Database dialog box, type ApplicationIniFix in the File Name box, and then click Save.
  11. In the Custom Databases node in the console tree, right-click ApplicationIniFix, click Install, and then click OK.
  12. Expand the Installed Databases node in the console tree. The ApplicationIniFix database appears.
  13. Exit Compatibility Administrator.

How to copy the application compatibility fix to another Windows Server 2003-based computer

  1. Install the Application Compatibility Toolkit and the hotfix on another computer that is running Windows Server 2003.
  2. Copy the ApplicationIniFix.sdb file that you created in the previous procedure to this computer.
  3. Click Start, point to All Programs, point to Microsoft Application Compatibility Toolkit 4.1, point to Tools, and then click Compatibility Administrator.
  4. On the File menu click Open, click ApplicationIniFix.sdb, and then click Open.
  5. Under Custom Databases, right-click ApplicationIniFix, click Install, and then click OK.
  6. Expand the Installed Databases node in the console tree. The ApplicationIniFix database appears.
  7. Exit Compatibility Administrator.

For more information, 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 query words: Terminal Services Win.ini homepath slow

Keywords: kbwinserv2003sp2fix kbexpertiseinter kbbug kbfix kbhotfixserver kbqfe kbwinserv2003presp1fix kbpubtypekc KB919953