I see a lot of people struggling with content redirection. The issues that people normally have are understanding what it is, how it works, and it’s limitations. Hopefully this blog post will clear it up.
What it is
Content redirection is a XenApp technology which, as the name implies, allows content to be passed from either the client to the server, or from the server to the client.
In real terms – for client to server – this is the ability to double-click a document on the client and have this open using a XenApp hosted application; for server to client it is the ability to click on a URL within a XenApp session and have it open using the local browser on the client.
Out of the box this is content redirection. Nothing more is supported. You cannot:
Use any proxies on the client. By this I mean things like right clicking on a file, selecting Send To and have it open a hosted version of Outlook and attach the file to a new message. This will not work.
Redirect anything from Server to Client Except URLs. E.G Double clicking a .xls file in your XenApp session and having it open in Excel on the local client
How it works
Client to Server
Provided you have everything configured correctly, when you authenticate to the Online Plug-in it will pull down the File Type Associations you have configured for a published application and write these into the client registry. Now any file that is associated with the XenApp hosted app will launch a connection to a XenApp server when double clicked. Once the application is launched on the XenApp server the file will be opened in the published application.
The Online Plug-in updates the HKEY_CLASSES_ROOT portion of the registry. If you look at one of your application file extensions before being logged into the Online Plug-in you will see that it points to local version of the application
And once logged into the Online Plug-in it now points to the XenApp version of the Application.
If you’re wondering what VisioViewer.Viewer and ctx.VISIO.DRAWING.11 refer to, if you scroll further down in HKEY_CLASSES_ROOT you will find registry keys with the same name, drill down into Shell–> Open–> Command and you will find the path to the executable that is to be launched. In the case of content redirection it looks something like this
“C:Program FilesCitrixICA Clientpnagent.exe” /qlaunch “CXAPRD6:Visio 2010 Professional” /param:”\Client%1″
This is the path to Online Plug-in, followed by the XenApp farm name (as configured on your Web Interface servers, not the actual farm name), the application name, and a parameter of \client%1. When the application is launched %1 get substituted for the path to the file that was double clicked.
You must have the following components for Client to Server Content Redirection to work:
Citrix Online Plug-in
Citrix Web Interface
Client Drive Mapping Enabled
Content Redirection Policies Enabled
You must have Client Drive Mapping enabled so that XenApp can make the call back to the client to open the file. If the file is located on a network share you must also have these mapped into the session as client drives. You do not need to make them visible though, as long as they are available through the client network in the background it will work.
Server to Client
Again, provided everything is configured correctly, when you click on certain URLs in a XenApp hosted Desktop or Application, it will be intercepted and passed back to the client. The default browser will be launched, if not running, and the URL will be opened in the browser on the client. If the client cannot open the URL, E.G if it has no route to the internet, it will pass it back to the server for it to be launched there.
The way that XenApp intercepts the URL is by overwriting the shell open command for the URL type, redirecting the call to its own version on Internet Explorer. The registry keys that do this are located under HKEY_CLASSES_ROOT and the I.E executable they point to is C:Program Files (x86)Citrixsystem32iexplore.exe
Looking at rtsp (which is one of the URL type than can be redirected) we can see what I have described above.
You must have the following components for Server to Client Content Redirection to work:
Citrix Online Plug-in
XenApp Content Redirection Policy enabled
It will also only work with these URL types:
HTTP (Hypertext Transfer Protocol)
HTTPS (Secure Hypertext Transfer Protocol)
RTSP (Real Player and QuickTime)
RTSPU (Real Player and QuickTime)
PNM (Legacy Real Player)
MMS (Microsoft Media Format)
Client to Server
Client to Server content redirection is configured by associating the file types with a Published Application. To do this, open the properties of the Published Application, and click on Content Redirection.
If you are not seeing all the file types for your application this is because they may not yet be in the datastore. To pull the information from a server’s registry, right-click the server in the console select Other Tasks–>Update file types from registry. To pull FTA from all your servers right-click on the root of the farm and select Other Tasks –> Update file types. Bear in mind this is going to pull from all your server in the farm so if you have a large farm it may take a while.
Remember you must also configure Client Drive Mapping for Client to Server content redirection to work.
Server to Client Redirection is configured using XenApp Policies. The setting is located under User Configuration–> Policies–> Citrix Policies–> Policy Name–> ICA–> File Redirection–> Host to client redirection.
The following keys can be used to control Server to Client content redirection. These are taken from CTX113457, which does not specify XenApp 6 or 6.5 in the “Applies to section” but I have tested on both.
To configure file types that can be redirected, complete the following procedure:
Add the HKEY_LOCAL_MACHINE SOFTWAREWow6432NodeCitrixSFTADisableServerFTA registry key with the following values:
Add the HKEY_LOCAL_MACHINESOFTWAREWow6432NodeCitrixSFTANoRedirectClasses registry key with the following values:
Value: <Specify any combination of file type names that you would like to exclude from redirection.>
Note: These values are comma-delimited with no space in between the values.
To configure server to file redirection for specific URLs,
Add the HKEY_LOCAL_MACHINE SOFTWAREWow6432NodeCitrixSFTAValidSites registry key with the following values:
Type: MULTI STRING
Note: Specify the required URLs in the Value field. The asterisk (*) is supported as a wildcard character.