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 displayThis 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
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
- “Farm Seamless Configuration Settings Helper”
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)
- Internet Explorer_Server
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.