修改Web Interface来实现在单应用程序的情况下自动启动应用程序,免去用户点击启动的过程。
原理比较清楚,Web Interface同时支持XenDesktop虚拟桌面的接入,而XenDesktop有这样一个默认的策略,如果用户只有一个可用桌面,那么桌面会自动启动。
基于这个原理和思想,我们只要把把XenDesktop资源的检测启动机制,修改成应用,就可以实现自动启动了。
EN:How to Configure Auto Launch for a Single Published Application on Web Interface 5.x
修改方法:
1、首先修改AppList.java来把Desktop的默认机制改成Applicaton
引入ApplicationInfo类
把图中标注的
import com.citrix.wing.webpn.DesktopInfo;
修改为:
import com.citrix.wing.webpn.ApplicationInfo;
修改图中标注部分:
if ((singlePublishedItem != null) && (singlePublishedItem instanceof DesktopInfo))
修改为:
if ((singlePublishedItem != null) && (singlePublishedItem instanceof ApplicationInfo))
2、修改WebInterface.conf配置文件来实现自动启动桌面(我们把应用改成桌面,自动启动桌面,其实就达到我们Auto Launch Application的目的了)
把被注释的行:
# AutoLaunchDesktop=Off
修改为
AutoLaunchDesktop=On
3、所有的操作完成后,重启IIS服务(iisreset)
4、Web Interface5.x版本加强了安全性,所以请把XenApp站点加入到信任站点才能实现自动启动应用程序
BTW:需要注意的是,这个只是针对单应用程序(Single Published Application),这里解释下这个单应用的含义,这单应用只是说在WEB界面上显示一个程序。比如,你可能有多个程序,多余的程序禁用了,但是没有隐藏,那么还是无法实现自动启动。