Citrix Virtual Apps, formerly XenApp, fits the enterprise need to bring legacy apps into a cloud management environment.
Note: Refer to CTX139331 - Citrix Virtual Desktop Handbook 7.x for the latest information.
This article contains Microsoft and Citrix options for the design of user profiles in a XenApp environment.
An effective design of user profiles can make a significant difference in the performance and manageability of a XenApp environment. Many of the issues commonly seen in large or complex XenApp environments (including slow logon, loss of user settings, profile corruption, and excessive administrative effort) are often the result of sub-optimal user profile designs. A solid design and implementation of user profiles can maintain the integrity of user settings, eliminate issues requiring administrator intervention, and ensure high-performance user logon.
Local Profiles
Mandatory Profiles
Roaming Profiles
Multiple Profiles
Citrix User Profile Management
Other
Do users need to save their settings?
Do applications store settings in the registry?
How will printers be made available, and how will printer settings be handled?
What is the farm design? Are applications streamed or segregated into application silos?
User requirements and expectations play a large part in which user profile type to use. An administrator must first determine which settings need to be saved and where those settings are stored. If users need to save settings that can be stored in redirected folders, such as Documents, AppData, or other folders, then folder redirection should be considered. Folder redirection can be used with all profile types discussed in this document, and are generally recommended.
If the application being deployed does not reference the HKEY_CURRENT_USER (HKCU) hive in the registry, then a mandatory profile solution can be considered. However, many applications do access this hive, so testing is required.
The printing requirements have an impact on the user profile design. Printers are typically enabled through logon scripts or XenApp policies; here we will only discuss the latter.
In order to enable printing, it cannot otherwise be disabled in another Terminal Services or XenApp policy. If printing will be enabled through XenApp policies, administrators can choose where to save client-side settings. Where printer properties (File > Print > Preferences > Local Settings) can be retained has a direct bearing on the type of user profile that has been configured.
In the XenApp Advanced Configuration Console (formerly Presentation Server Console), the Citrix policy named Printer properties retention should be set accordingly. Following are available options:
Held in profile only if not saved on client (default)
Saved on the client device only
Retained in user profile only
In farms based on multiple application silos, having roaming profiles increase the likelihood of profile setting loss due to “last write wins” issues. For example, users simultaneously accessing SAP and a custom application hosted on different servers will overwrite roaming profile settings made in the custom application session if the user logs off from the custom application session before the SAP session. This effect can therefore be termed the “last write wins” condition. Citrix User Profile Management must be considered as an alternative to roaming profiles if users experience this issue.
When designing your XenApp environment, once the analysis of requirements has been performed, the appropriate profile type(s) needs to be selected.
The following table is useful for comparing the relative benefits of each profile type when analyzing the design requirements:
Profile Type |
Benefits |
Disadvantages |
Local Profile |
|
|
Roaming Profile |
|
|
Mandatory Profile |
|
|
Multiple Profiles |
|
|
Citrix User Profile Management |
|
|
Active Directory includes a number of group policies--including a subset of Terminal Services policies--that can be applied to a XenApp environment to optimize performance and stability. Terminal Services profiles are commonly configured within these Group Policy Object (GPO) options. Active Directory based on Windows Server 2003 SP2 and higher, as well as Windows Server 2008, allows Terminal Services mandatory profiles to be configured as a GPO.
Folder Redirection policies can be used with mandatory or roaming profiles to maintain a centralized location for specific folders and is generally recommended to exclude that data from the user profile. The folders that can be redirected are dependent upon the version of Active Directory in use. Where folder redirection is used, the AppData and Documents folders are redirected at minimum.
Without folder redirection, user data is stored within the profile. When folder redirection is enabled, user files stored in the selected folders are segregated from the user profile. As a result, user logins proceed as quickly as possible, and the impact on the profile is minimized.
For profile folders, such as Documents and Desktop, it is generally best to redirect them to the user’s home directory location, under subdirectories with the same profile folder names (such as: Desktop). Folder redirection paths can be in a UNC format (such as: \\servername\share\%username%\Desktop) or using a drive letter (such as: H:\Desktop). Use of a drive letter provides flexibility if home directories are stored across multiple file servers.
Depending on the profile solution selected, policies exist to exclude data from the user profile:
Roaming Profile: Exclude directories in roaming profile
Citrix User Profile Management: Registry exclusion list and File system exclusion list
In addition, deleting locally cached profiles on logoff can be configured for Microsoft profiles, as well as Citrix User Profile Management. By configuring appropriately, profiles are not cached on each XenApp server at logoff. In addition, a consistent user experience is assured and disk space is used efficiently.
As discussed previously, a single user in a XenApp environment may be configured to use different profile types depending on the server being accessed. In a farm employing application silos, this can be useful. However, the administrative effort to configure and maintain multiple profiles needs to be weighed against the expected benefit. For example, a farm may have three different application silos and use different profile types within each silo.
The benefit of this approach is reduction in logon time and profile corruption, while maintaining the administrative benefits of application silos. Multiple profiles can be configured for users in one of several ways. The options are:
Environment variables
Only allow local user profile
Terminal Services profile per application silo
These three methods are described below.
The environment variables method involves setting the users’ profile paths to a value with an environment variable, for example: %profilepath%\%username%. On each server, the %profilepath% environment variable will be created. For a farm with two application silos running Microsoft Office and Lotus Notes, the variables could be specified using the SETX utility as follows:
Microsoft Office servers: %profilepath% = \\fileserver\office-profiles
Lotus Notes: %profilepath% = \\fileserver\lotus-profiles
When users log on to the Microsoft Office servers, profiles are loaded from \\fileserver\office-profiles\%username% as denoted by the user profile path and the value of the environment variable on those servers. This method also allows a user to have multiple mandatory profiles, or a blend of roaming and mandatory profiles by copying a mandatory profile (NTUSER.man file) into each specified profile path for every user.
Note: When implementing persistent environment variables using the SETX utility, a reboot might be required.
The Only allow local user profiles policy prevents a user’s roaming profile from downloading, and instead creates a local profile for the user. This option is useful in situations where a multiple application silo approach is used, such as, when published applications are run within published desktops. For example, if an application silo hosting a published desktop requires a roaming profile and a secondary application silo is accessed via a pass-thru ICA connection, it may be necessary to configure this setting. The Only allow local user profile policy therefore allows a blend of roaming and local profiles to be used. In Windows Server 2003 and Windows Server 2008, this policy is available in Active Directory (under the Computer Configuration > Administrative Templates > System > User Profiles settings).
Alternatively, within Citrix User Profile Management, distinct profiles can be designated based on the Organizational Unit (OU) structure.
Finally, where application silos are designated based on computer-based OU, the Terminal Services profile per application silo can be configured accordingly. Using this technique, users can have different roaming profiles depending on the GPOs that are applied to specific servers.
The policy Set Path for TS Roaming User Profile (available under Computer Configuration > Administrative Templates > Windows Components > Terminal Services) can be specified.
An easier means of configuring multiple profiles is by means of Citrix User Profile Management. Because the profile configuration is based on Active Directory OUs, a distinct profile can be designated per application silo so long as each silo is in its own child OU.