Wednesday, September 4, 2013

Citrix Hooks - Troubleshooting

Citrix Hooks - Troubleshooting

After clicking on a link via published Internet Explorer that opens a streamed VNC session through an ActiveX control, VNC does not display

This morning, one of my clients upgraded their internal site that allows users VNC access to the point of sale computers. They were able to log in, but unable to launch VNC. You could see that the vnc session was opened, but to the users, they could not see the window at all. They were getting to the internal site via published IE8 in a XA6 environment.


First thing was to see if it was a hook that was causing the issue. To disable all hooks, you will need to have the following registry "DWORD" in place
  • [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\wfshell\TWI\" 
    • "SeamlessFlags"=dword:00e6dea7

  


Now after killing all my sessions and then launching IE, the second VNC window opens. This tells me there is an issue with one of the hooks. Until I found out there was a GUI that sets the hooks auto-magically for you, I used to manually se the hooks in the registry. The easy way to do it is to use a tool called

Now for the fun part. To my knowledge it’s basically a guessing game to narrow down which hook you need to set. I personally do 6 at a time and then whittle it down to which specific one it is. What you need to do is after checking the boxes next to the hooks you want, click on “Set Values”, then close all your Citrix sessions and re-launch your app for testing. In my case, the issue is with

  • DISABLE ACTIVE ACCESSIBILITY HOOK (0x4) 
Not so fast! At this point you know the hook, but this is a global setting. This will apply to all published apps. To narrow it down to a specific app you need to find the “ClassName” that is being affected. To do this, I use an app called
After opening the application, hover over the area of the application that is launching the secondary window/app that is not displaying correctly. This will give you the “Class”
  • Internet Explorer_Server 


Now go back to the Farm Helper app and add in the Class Name


This will then pop up the following window



Click on one of the boxes (anyone), and then click on “Set_Values”

This will setup a new registry key under TWI called Internet Explorer_Server. It is all though going to have the wrong “Data” for “Type”. Open up the “Type” DWORD and change the value to the hook you selected earlier (0x4). You could also dig deeper and run through selecting each check box in the per app flags, but in my case, I do not need this.




You have now successfully added the “DISABLE ACTIVE ACCESSIBILITY HOOK” hook to only the “Internet Explorer_Server” Class.

Just make sure to go back and delete the “SeamlessFlags” DWORD under "TWI"so the hook isn't applied globally.

Where’s my enabled Users?

Where’s my enabled Users? I’m going through and fine tuning our Proodpoint Spam solution and noticed one of the filters needs to be updated....