Citrix VDA Re-Registers After Every Application Launch

When implementing our XenApp 7.8 farm, I ran into a little problem. Every time we a launched an app hosted on the new 7.8 farm, the Terminal Server/Virtual Delivery Agent that hosted the connection would lose its registration with the Delivery Controller, dropping to an ‘Initializing’ state for 20 seconds or so before successfully returning to a state of ‘Registered’. This symptom would also occur when an app was closed.

The following message appeared in the Event Log on the VDA when the issue occurred – but only very rarely. Not sure why it was so rare. After turning on VDA logging, the same error could be observed in that log every time.

Our environment had three farms; one Presentation Server 4.0 farm, a pair of XenApp 6.5 farms, and now a pair of XenApp 7.8 farms. These were accessed by various Citrix Web Interface 5.4 servers (for older PNAgent clients) and a Storefront 3.0 cluster (for modern Receiver versions & thin clients via a Desktop Appliance site). Both access methods are configured to communicate with all farms. You might notice that this is quite a raft of technologies, from different eras of Citrix products. This was ultimately the source of the issue.

This issue only occurred when using Storefront to launch apps, and only on the XenApp 7.8 farm. All other combinations were fine.

After a long investigation with Citrix Support, the source of the issue was discovered. Our Storefront cluster has been implemented more than a year before the project to implement XenApp 7.8, and at the time the Store had been configured to disable Launch References, to enable Storefront to launch apps from the Presentation Server 4.0 farm. This was done by changing the web.conf for the store, setting RequireLaunchReference=”off” and OverrideIcaClientname=”on”. See this blog post for more details.

Unfortunately, this configuration causes issues with XenApp 7.8. Unlike PS4 or XenApp 6.5, launch references are required for XenApp 7.5+ farms. As soon as we changed the web.config for the store to default settings (RequireLaunchReference=”on” and OverrideIcaClientname=”off”), the re-registration issue disappeared. However, the removal of this setting does stop apps in the PS4 farm from launching.

Presentation Server 4.0 is not supported by Storefront, so I do not believe there will be a way to get apps from PS4 and XenApp 7.5+ coexisting happily on the same store. My solution for this was to disconnect the PS4 farm from our existing store and reset its settings to default and create a new store that is dedicated to PS4 apps. By disabling LaunchRefs on the dedicated PS4 store and configuring my clients to have access to both stores, I can still present all of these apps to my users with only minor changes to end user behavior. It isn’t the best solution (the best solution would be to get rid of the PS4 farm entirely, but business realities prevent that), but it will suffice to solve the immediate issues and has removed this roadblock from the project.