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 contact me via email.