Hosted Apps, Streamed Apps, Seamless Sessions, and Content Redirection
When having a mixed environment of seamless sessions using hosted applications and streamed applications, file type associations (FTA) and content redirection won’t work for streamed applications. The FTA isn’t recognized and prompts you to select an application to open it with when you click on the streamed application FTA. In full desktop session that have the XenApp Plugin for Hosted Apps (formerly known as the PNAgent) installed, FTAs and content redirection work properly and the correct streamed application launches fine. So how do you get around this in a seamless session? Have the XenApp Plugin for Hosted Apps run within the seamless session. Below are the steps for setting this up.
What is needed?
First you will need the Citrix XenApp Plugin for Hosted Apps 10.2 or later and the Citrix Offline App Plugin 5.1 or later (formerly known as Citrix XenApp Plugin for Streamed Apps) installed on your XenApp servers. Citrix XenApp Plugin for Hosted Apps 10.2 and later have pass through FTA enabled for seamless sessions. Pass through FTA isn’t enabled by default in plugins earlier than 10.2. If you aren’t able to install one of the newer clients then you can modify the registry to enable this functionality. Use the following registry key to enable pass through FTA:
Path: HKLMSoftwareCitrixProgram Neighborhood Agent
Value Name: EnablePassThroughFTA
Type: REG_DWORD
Value: 1
Next you will need to have the XenApp Plugin for Hosted Apps running in your seamless session. To accomplish this you will need to call pnagent.exe when your session launched. To do this you will need to call pnagent.exe from either a logon script or the usrlogon.cmd file. The usrlogon.cmd file is run every time a session is launched. You can make a file called usrlogn1.cmd file as well if you don’t want to edit the default usrlogon.cmd file. The usrlogn1.cmd file is called automatically by the usrlogon.cmd file once it’s created. Use the following syntax to add to your logon script, usrlogon.cmd, or usrlogn1.cmd file:
Cmd /C “%programfiles%CitrixICA Clientpnagent.exe”
After adding the syntax to call pnagent.exe when the application launched you will then need a way to close the XenApp Plugin for Hosted Apps running in your seamless session. If this is not implemented the session will close for the user but remain active on the server. To accomplish this, the LogoffCheckSysModules registry key has to be implemented. The LogoffCheckSysModules key setup on per executable basis. Multiple executables can be specified by separating them with a comma and NO spaces between them, for example:
App1.exe,App2.exe,App3.exe
This will need to be enabled on each server in the farm you are publishing applications on. Use the following registry key to enable LogoffCheckSysModules
Path: HKLMSystemCurrentControlSetControlCitrixwfshellTWI
Value Name: LogoffCheckSysModules
Type: REG_SZ
String: pnamain.exe
After enabling the LogoffCheckSysModules registry entry you will need to modify the application streaming profile shortcuts so content redirection works with UNC paths and spaces to the application streaming profile. This also enables a placeholder to be inserted in to the final command line when the application is published. This is done at the very end of the profiling process where you can add, modify, and remove shortcuts. This will have to be done for each streamed application you want to enable content redirection for. Use the following steps and the example screen shot to modify the shortcut in the application streaming profile:
- Select the shortcut you want to modify
- Click modify
- Enter ** in the Command line parameters (optional): section
- Click Ok and finish the profiling process
Finally to complete the setup of this you will need to enable content redirection for the FTA’s in the published streamed application properties. This can be done by modifying the published streamed application properties in the advanced properties section for content redirection. This will have to be done for every streamed application that you want to enable content redirection for. Use the following steps and example screen shot below to enable FTAs for content redirection:
- Open the Access Management Console
- Expand the Applications node
- Select a published streamed application and modify the properties
- Expand Advanced properties
- Select Content Redirection
- Enable the File Types for Content Redirection
- Click Apply and OK
- Repeat for each published streamed application
Now you should be able to launch a streamed application from a seamless published hosted application without issue. The file type association for content redirection should be recognized in the seamless hosted published application. If the hosted and streamed published applications are published to the same server they should also launch within the same session.
If you have found this article interesting or if you have any other insights, please feel free to leave comments on this article.
Hi Jarian
Great article – got a brand new Xenapp 5 setup with Win2k8 64bit servers, local installation of office 2007 and streamed applications (visio,onenote,project) where i had same problems with user using published Windows explorer (not being able to browse and open documents)
which is all solved now. so thanks again.
Thanks for such nice post. keep it up… Onthenetoffice
This works except the pnamain process is still open on the server for each user.
I have the LogoffCheckSysModules specified in the regestry on the server. Am I missing something? Other than not closing the session when the app is closed, this works.
I need to correct myself. It takes 5 minutes for the pnamain process to close, and there fore the session is loged off. is 5 minutes normal?
Hi Jarian!
This nearly worked for me, but is not quite rigt for me.
I am still left thinking I am missing a trick here.
I have a published explorer, and a lot of streamed apps (pretty much all of them) and whilst I can get FTA to run as above, it doesn’t change the icon in the published explorer, eg *.doc looks associated to Wordpad still. Clicking the .doc does launch Word in ica, but the icon doesnt update to the blue W of Word..
The apps are all streamed to the same XenApp server that is hosting the published Explorer window, so instead of having to kick off a second ica connection, and enable Client Drive Mapping, what i REALLY want is for my FTA to refer to raderun /app “\profilepath” directly.
I can see how I can do it with Raderun Assoc and Ftpe but it is a mess.
Any suggestions people? (Xenapp 5.0 installed on W2k3 all patches)
Calling from a GPO logon script or the usrlogon.com should work. I have done it in both scripts. Make sure you are using a 10.2 client or higher or enable the registry key posted above.