Web Interface实现自动启动应用程序

修改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界面上显示一个程序。比如,你可能有多个程序,多余的程序禁用了,但是没有隐藏,那么还是无法实现自动启动。