Troubleshooting Client Time Zone Issues

Troubleshooting Client Time Zone Issues

book

Article ID: CTX303498

calendar_today

Updated On:

Description

Background

When Client Time Zone is enabled, the client passes its time zone information (not the clock time) to the server. The server obtains the client's time zone information (GMT, daylight saving, and so on) and compares it with its own time zone information. If it is different, the server stores the clients' time zone information in the registry.

When the server and client have the same time zone (both EST):

HKey_Users\<<User-SID>>\Software\Citrix\SessionTimeZone\1
“UseRegTimeZone”=dword:00000000

When the server (EST) and client (PST) have different time zones:

[HKEY_CURRENT_USER\Software\Citrix\SessionTimeZone\1]
"Display"="Pacific Standard Time"
"Dlt"="Pacific Daylight Time"
"TZI"=hex:e0,01,00,00,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,02,00,00,\
00,00,00,00,00,00,00,04,00,00,00,01,00,02,00,00,00,00,00,00,00
"UseRegTimeZone"=dword:00000001

A time zone hook is loaded for every application running inside that client session. Those applications use the client's time zone instead of the server's time zone. For older version of ICA clients, time zone information does not pass to the server. Thus, the server tries to estimate the clients’ time zone. The time zone synchronization happens only during session connection.

This feature is configurable by accessing Server Farm Properties on the MetaFrame Settings tab or through a Policy within the Citrix Management Console.

The time zone hook (tzhook.dll) is loaded by each application, which you can view in Process Explorer. Hooks are only loaded if HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Windows NT\CurrentVersion\Windows “LoadAppInit_DLLs”=dword:00000001 is set. If running 32-bit applications on a 64-bit operating system, the same value under HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows should be set as well. This value allows the "AppInit_DLLs" value in the same key to be used for app hooking during process startup. "AppInit_DLLs" should be set to the path of "mfapphook.dll" (c:\progra~2\citrix\system32\mfaphook.dll,mfaphook.dll). If either of these values are missing, Time Zone redirection will fail to hook into the process.

Explanation of the settings:

  • Use the local time of ICA clients: All timestamps for all applications are based on the client's time instead of the server's.

  • Disable local time estimation: Available after Use Local Time of ICA Clients is selected. This option prevents estimation of local time for ICA clients other than the ICA Win32 and WinCE clients.

Note: For MetaFrame XP Feature Release 1, the ICA Win32 and WinCE clients distributed with MetaFrame XP send local time information to the MetaFrame XP server. For all other versions of ICA clients, the local time is estimated and might not be accurate. For MetaFrame XP Feature Release 2, the latest versions of ICA clients distributed with MetaFrame XP send local time information to the MetaFrame server. For earlier versions of ICA clients, the local time is estimated and might not be accurate. As of MetaFrame XP Feature Release 2, the Citrix ICA Java client still does not support Client Time Zone Mapping. However, the Citrix ICA Java client time zone is estimated. For more information, see CTX121760 - Incorrect Session Time Using the Java Client.

Troubleshooting Client Time Zone Issues

For more information, see CTX120054 - Citrix Modules to Select when Obtaining a CDF Trace for Time Zone Problems.

  1. Verify if Microsoft RDP Client behaves as expected. Investigate using gpedit.msc, for allow Time Zone Redirection.
    Local Computer Policy > Computer Configuration > Administrative Templates > Windows Components > Terminal Services > Client Server/Data Redirection.
    Note: This Microsoft Group Policy also applies to ICA sessions and takes precedence over any settings defined at the farm level and or within a Citrix user policy.

    User-added image

  2. Verify the intended setting from the MetaFrame Settings tab.

  3. Verify that any applied Management Console Policies are correctly configured.

    User-added image

  4. Start an ICA session from the client device to the server desktop and display the clock on the system tray. The clock indicates the clients’ time zone. Verify the time zone setting on the server and workstation (not the clock time). If this is working, you might be experiencing an application specific issue; proceed to Step 8. Otherwise, go to Step 5.

  5. Verify that Cmstart.exe, Mfaphook.dll, and Tzhook.dll exist in the Program Files\Citrix\system32 directory of the server and all but cmstart.exe are of the latest version.

  6. Verify that wfshell.exe is running inside the session.

  7. Verify that there is a reference to Mfaphook.dll in the following registry key:
    Caution! Refer to the Disclaimer at the end of this article before using Registry Editor.
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Windows\Value Name - AppInit_DLLs
    Data Type - REG_SZ: mfaphook.dll

    Note: This registry value might include additional strings. These strings are used by other Citrix features. If you want to know what the additional strings are for, search for the file on the server and view the Version tab in File Properties.

  8. Verify that there is a reference to Tzhook.dll in the following registry key:
    HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\CtxHook\AppInit_DLLs\PerSessionTimeZoneValue Name - FilePathName
    Data Type - REG_SZ: tzhook.dll
    Value Name - Flag Data Type - REG_DWORD: 0x4
    Value Name - Settings Data Type - REG_DWORD: 0x1

  9. Verify that Cmstart.exe is listed as a string under the AppSetup value under the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon.

  10. Verify that a registry key, HKEY_CURRENT_USER\Software\Citrix\SessionTimeZone\<SESSIONID>, is created at logon.

Changes in XenApp 6

Environment

Caution! Using Registry Editor incorrectly can cause serious problems that might require you to reinstall your operating system. Citrix cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. Be sure to back up the registry before you edit it.

Issue/Introduction

This article contains information on troubleshooting Client Time Zone Issues.