1

I have a VB6 application hosted to users around the world through Citrix XenApp. I'm using the windows GetTimeZoneInformation call to find the time zone of the user in order to adjust some dates shown in the app (the dates come to the app in GMT). Unfortunately it looks like GetTimeZoneInformation gets the timezone of the Citrix server rather than the user running the application. Is there a Citrix based solution for this or am I going to need to change my implementation? This seems like a pretty big hole for Citrix hosted apps as I imagine you'd have the same problem with other localization settings.

Stimy
  • 1,491
  • 3
  • 15
  • 36

1 Answers1

2

What you ask should happen automatically: that applications do not get the server's but the client's time zone when asking Windows for the time zone. Here is a good description of how this works (PortICA, by the way, was a kind of early code name for XenDesktop).

If it does not work: client time zone support can be disabled, or any number of other things may have gone wrong. Check Citrix KB article CTX303498 for possible solutions.

Helge Klein
  • 8,829
  • 8
  • 51
  • 71
  • The method I'm calling is from the windows kernel32 library, GetTimeZoneInformation. We made the changes mentioned in the article, but it does not seem to have helped. That article mentions some registry keys where the data would be saved, but I don't understand if that data is meant to intercept a call to GetTimeZoneInformation. – Stimy Apr 15 '11 at 18:57
  • Yes, Citrix hooks the API functions for getting the time zone and changes the time zone returned to the calling application. I do not know which API functions they hook, though. – Helge Klein Apr 15 '11 at 22:40