Tuesday, January 15, 2013

Internet Explorer popping up outside the App-V Bubble

We have an application that launches Internet Explorer for printing certain PDF documents that it creates.  Adobe Reader is in the AppV package and NOT locally on the server.  The application resides in an AppV bubble but Internet Explorer starts outside the bubble.  I was able to verify that by starting the application with the debug switch "/exe cmd.exe" and running SET which shows some variables that only exist within an AppV bubble.  Once at the command prompt I launched the application and got to the point where it launched IE, from there I was able to use the IE open dialog to launch cmd.exe from the Windows\system32 folder.  Once that was open I ran SET again and the AppV variables were not there; this confirmed that it was not in the AppV bubble.

It appears this issue is caused by XenApp because it modifies the Internet Explorer handler registry keys to point to a unique Citrix version of IE.  This version appears to open outside the bubble.  to correct this you need to change these registry keys:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Software\Classes\http\shell\open\command]
@="\"C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe\" \"%1\""

[HKEY_LOCAL_MACHINE\Software\Classes\https\shell\open\command]
@="\"C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe\" \"%1\""

[HKEY_LOCAL_MACHINE\Software\Classes\htmlfile\shell\opennew\command]
@="\"C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe\" \"%1\""

[HKEY_LOCAL_MACHINE\Software\Classes\htmlfile\shell\open\command]
@="\"C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe\" \"%1\""

With the keys set like that Internet Explorer will now launch within the AppV bubble.

2 comments:

Dave Fanning said...
This comment has been removed by the author.
Dave Fanning said...

Thanks for this. It was the cause of a IE outside the bubble on citrix scenario we encountered. If user environment management is available it is possible is change the equivalent regular (not virtual) user classes key and limit the effect to that user session.