我们可以想象一下以下场景:
- 用户登录WI,然后点击启动应用程序,等待会话创建完成后应用启动后,使用一会,关闭退出
- 过了一会他又要使用该应用程序,又得等待会话创建后应用启动
- 如此往复
由于用户在退出应用程序以后,用户的会话可能在短时间服务器已经注销退出,导致用户再次启动应用程序时,需要重新创建会话(Session Sharing),也就增加了启动应用程序的启动延时,对用户的体验不太好。
最近发现ETIENNE JEANNEAU发布了一个小工具KeepMeLoggedIn Tool,Citrix在放到了KB上,参考:CTX128579
KeepMeLoggedIn Tool主要用来帮助用户保持会话,减少会话创建的时间,从而实现快速启动应用程序。在新应用程序启动的过程中,KeepMeLoggedIn Tool会重用(Re-Using)已经存在的会话。
注意:KeepMeLoggedIn只工作在ICA会话中,但是XenApp发布的桌面中不起作用,而且RDP会话也肯定是没用的。
该软件需要安装Microsoft Visual C++ 2010 Redistributable Package (x86)
KeepMeLoggedIn安装方法:
I、针对2008和2008R2
- 复制KeepMeLoggedIn.exe到C:\User\Public目录
- 修改注册表123Name: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinlogonType: REG_SZValue: Userinit = C:\Windows\system32\userinit.exe,c:\Users\Public\KeepMeLoggedIn.exe
II、针对2003
- 复制KeepMeLoggedIn.exe到C:\Document and Settings\All Users\
- 修改注册表123Name: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinlogonType: REG_SZValue: Userinit = C:\Windows\system32\userinit.exe,“C:\Document and Settings\ All Users\KeepMeLoggedIn.exe”
使用配置KeepMeLoggedIn:
KeepMeLoggedIn默认会话超时时间是120秒,也就是说,应用程序退出后,120秒内没有应用程序启动,会话将退出,配置超时时间方法如下:
I、32位系统修改如下注册表键值
1 2 3 | Name: HKEY_LOCAL_MACHINE\Software\Citrix\KeepMeLoggedIn Type: REG_DWORD Value: Timeout = time in seconds (decimal value) |
II、64位系统修改如下注册表键值
1 2 3 | Name: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Citrix\KeepMeLoggedIn Type: REG_DWORD Value: Timeout = time in seconds (decimal value) |