Article ID: 969100 - View products that this article applies to.
Assume that you are using version 10.200 of the Citrix ICA (Independent Computing Architecture) client on a computer that is running Windows XP together with any Windows XP service pack. When you log on to the Windows XP-based computer, Windows XP may create a user profile instead of loading your cached profile. Similarly, duplicate profiles may be created for each user.
Additionally, if you enable USERENV logging, you see log entries that resemble the following:
USERENV(2ac.2b0) 16:35:57:459 Local Existing Profile Image is reachable USERENV(2ac.2b0) 16:35:57:459 Local profile name is <C:\Documents and Settings\User_Name> USERENV(2ac.2b0) 16:35:57:459 RestoreUserProfile: No central profile. Attempting to load local profile. USERENV(2ac.2b0) 16:35:57:495 MyRegLoadKey: Failed to load subkey <S-1-5-21-1292428093-343818398-839522115-49106>, error =32 USERENV(2ac.2b0) 16:35:57:495 MyRegLoadKey: Returning 00000020 USERENV(2ac.2b0) 16:35:57:495 RestoreUserProfile: MyRegLoadKey returned FALSE.
This problem occurs because of a race condition that occurs when Winlogon.exe and the Citrix SSONSVR.exe startup process both try to access the Ntuser.dat file. Winlogon.exe tries to load the user profile while SSONSVR.exe startup is triggered by a Citrix network provider.
Microsoft and Citrix Systems have worked together to resolve this problem. We have agreed on the design changes that will be implemented in a new version of the Citrix client. Until the new Citrix client is available, use the workarounds that are described in this article.
For more information about when a new version of the Citrix ICA client will be available, contact Citrix support by visiting the following Citrix support Web site:
http://www.citrix.com/English/SS/supportContacts.aspMicrosoft provides third-party contact information to help you find technical support. This contact information may change without notice. Microsoft does not guarantee the accuracy of this third-party contact information.
To work around this problem, you can disable prefetch for Windows XP applications or remove prefetch tracing for the SSONSVR.exe process. (For more information about what prefetch does, see the "More information" section.) Additionally, you can manually delete the unwanted user profiles. To delete the unwanted user profiles that are already created, follow the steps in the “How to delete unwanted user profiles” section.
Disable prefetchYou can disable prefetch on a persistent basis for all programs, or you can manually remove prefetch tracing only for the SSONSVR.exe process. To disable prefetch, use one of the following options, as appropriate.
Option 1: How to disable prefetch for the SSONSVR.exe processTo disable prefetch for the SSONSVR.exe process, each user must follow these steps before logging off or shutting down the computer.
Option 2: How to disable prefetch for all programsImportant This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
(http://support.microsoft.com/kb/322756/ )How to back up and restore the registry in Windows
To disable the prefetch component for all programs, follow these steps:
How to delete unwanted user profilesWarning When you delete a user profile, you lose all data related to the profile, such as desktop settings, favorites, program-specific data that is contained in the "Application Data" folder, and the contents of the "My Documents" folder. Therefore, make sure that you delete only the profiles that you do not want to keep.
What is prefetchPrefetch is a subsystem in Windows that preloads to memory all code that the system computes may be required to improve application startup speed. The preloading depends on the past behavior of the application startup when it was loaded into memory. Prefetch traces the page faults that occur for a process during the previous startup. Prefetch also traces activity in the System context that may occur simultaneously during the startup of an application. If no other process claims ownership of the activity in the System context, prefetch may log the activity as owned by the application process. To make sure that startup activities are recorded correctly, prefetch compares several application startup cycles and then sets a pattern.
Windows XP prefetch has been working successfully for several years. However, in this case, because SSONSVR.exe is started from a Citrix network provider, it coincidentally starts while the user’s profile is loaded. Prefetch considers that the System access of the Ntuser.dat file is part of the SSONSVR.exe process. Therefore, prefetch adds the loading of the user profile to the SSONSVR.exe prefetch file.
This condition can make the SSONSVR.exe process access a file like Ntuser.dat during startup without having any code or API call. Typically, this condition will not have any effect on the system. In this case, because Winlogon.exe tries to access the Ntuser.dat file at the same time, the issue that is described in the "Symptoms" section occurs.
Effect of disabling prefetchWhen you disable the prefetch component, programs may take more time to load at program startup. However, in many systems, disabling the prefetch component may have a minimal effect. For example, if you do not start different programs on the computer frequently, the performance effect will be much less.
For more information about this problem, visit the following Citrix Web site:
http://support.citrix.com/article/CTX118226Microsoft provides third-party contact information to help you find technical support. This contact information may change without notice. Microsoft does not guarantee the accuracy of this third-party contact information.
The third-party products that this article discusses are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, about the performance or reliability of these products.
Article ID: 969100 - Last Review: April 1, 2009 - Revision: 2.0