Session prelaunch is a feature of XenApp 6.5 that was eventually brought back to the FMA architecture.
So, what’s it all about again? The basic goal is to improve user experience. How does it do that? With any normal published application, after clicking the icon or shortcut the session starts, profile is loaded, policies applied, logon scripts ran etc. Not really a “better than native” experience. When using Session Prelaunch, when a user clicks the icon/shortcut, the application will be available directly, without any delays.
I’m not going into the pros and cons of the Session Prelaunch feature in this post. I’m only looking at it as a feature and ways to enable that feature.
Session prelaunch is a combination of windows receiver and XenApp itself. The windows Receiver is key in this story, the feature is not available on other Receivers.
Basically what happens when a user logs in to Receiver (so the Windows Receiver itself, not WI/Storefront launching Receiver) a “blank” session is already created for that user on the XenApp server. When the user then starts the application, the application is “plugged into” the existing session, resulting in instant application launching for the end-user.
And now I’m getting to the point of this blog post. Every version of Receiver previous to 4.3 had the same requirement when it comes to Prelaunch: the Receiver needed to have SSO enabled. This can be enabled when installing Receiver for example. Receiver 4.3 has SSO enabled by default. SSO is what you think it is: it uses the credentials of the logged on user to authenticate Receiver. Obviously, that’s not always possible. Hosting companies, company employees on home computers, … have no use for SSO.
They may want to use Prelaunch however. Previously remote (netscaler) sessions didn’t support Prelauch. But with Receiver 4.3, Storefront 3.0 and Netscaler 11, things have changed. It is possible now and can be accomplished by intalling Receiver 4.3 and setting a registry key:
Set EnablePreLaunch to True
And reboot! Remember this one, the reboot is important since the key is located in HKEY_LOCAL_MACHINE. And just to be clear: on the client computer.
Now when a user logs in to Receiver, remotely, a prelaunch session will be created. I’ve seen it work on 6.5 and 7.6.
So we’re all set?
When the client computer starts up, the user logs in… and then Receiver starts. But there’s no prelaunch session yet, it seems to take “some time”. And we all know users do’nt wait around for “some time”.
The solution is also in the same registry key:
InitialRefreshMinMs = 1
InitialRefreshMaxMs = 1
Both basically minimize the “some time” Receiver waits before contacting the store (aka launch delay).
Both keys are also described here: http://support.citrix.com/article/CTX140244
So there you have it: with the latest technology, the virtues of Session Prelaunch can be enabled for all users.
For your convenience: the reg file containing the setttings mentioned above can be downloaded here: EnablePrelaunch