In a recent post I explained how Windows Terminal Server logons can be sped up by removing unnecessary startup applications. Interestingly TS RemoteApp, the new Windows Server 2008 seamless windows mechanism, hardly suffers from this type of slowdowns. This is because TS RemoteApp has a much more significant limitation – it doesn’t actually run most startup applications at all. What this means is that you might install an anti-virus package or a backup utility onto your Terminal Server, and yet these applications may not function properly in the context of sessions created by TS RemoteApp. Obviously this can be a really big problem.
To understand why this happens lets turn again to the excellent AutoRuns utility from SysInternals. AutoRuns not only shows which applications and scripts run at system startup or logon, but also where they are registered to be run. For example, AutoRuns shows me that on my system nod32kui.exe, part of the NOD32 Antivirus System, is registered at HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun. This is a common location used by applications that register themselves to always run at logon for all the users on the system. Turning now to another excellent SysInternals utility, Process Explorer, I can see that nod32kui.exe was launched by explorer.exe – Windows Explorer. This then is the root cause of the problem: Windows Explorer is not run at all inside TS RemoteApp sessions. As a result, nod32kui.exe will also not be run in such sessions.
Other popular locations that applications use to register themselves to be run at logon are the common and personal Startup folders. Files placed into these folders are also executed by Windows Explorer when it starts up. Consequently such applications will also not be launched during logon to a TS RemoteApp session.
How can you overcome this limitation? As this time there are only four possible solutions:
PowerTerm WebConnect overcomes this limitation and makes sure that startup applications and script run properly. The PowerTerm WebConnect Terminal Server Agent performs this operation itself since it also doesn’t run Windows Explorer inside the seamless sessions.