What is Web Interface and why use it?
Web Interface is a free add-on for Citrix Presentation Server provided by Citrix. With the Web Interface users are working with a web browser to connect to applications. Web Interface provides a web page where the available applications are shown after authentication. After selecting the application, the locally installed Citrix client will start the session.
Web Interface has several advantages in comparison with traditional clients. One of the biggest advantages is the centralized configuration. Changes in your Citrix infrastructure are done in a few mouse clicks on the Web Interface servers instead of propagating changes to all your clients. Also some new features like Workspace control are only available when using the Web Interface in combination with the latest Presentation Server version. Because users can download a Citrix client from the Web Interface sites, users can use any workstation to access their applications. In the current version users can also change the presentation of the applications and connected local resources.
You also need Web Interface to allow an application to connect to the internet with Citrix Secure Gateway.
These should be enough reasons to deploy Web Interface in your infrastructure. Depending on usage statistics, load balancing and/or fault tolerance, more Web Interface servers can be deployed and unattended installation comes handy when deploying a number of servers. Just like the article series about Unattended Citrix installation this article will describe how to perform an unattended install and configuration of Web Interface for Microsoft Windows.
To install Web Interface on your web server some additional software is required before you can begin the install. First you need to have the following Microsoft components: Internet Information Server 5 SP4 or higher with ASP.Net enabled. Besides this Microsoft component Visual J# .Net is required and is provided by Citrix in the support folder. With MPS3 it is delivered as an MSI file (on the CPS4 CD it is replaced by an executable).
The MSI file is ideal for a silent installation using the MSIEXEC command. If necessary you can also change the installation location, but in the following example we are using the default installation locations. Although I still do not understand the necessity, the Citrix Access Suite Console is required on the server. The Access Suite console is also delivered by Citrix as an MSI file, so we can use the MSIEXEC command to install this software unattended.
If you are installing Web Interface 4.2 a hot-fix is required for the Access Suite Console. This patch ASC400W004.msp can be found at Citrix Supportsite. The patch is provided as an MSP file, which can also be launched silently using the MSIEXEC command.
msiexec /i "%SOURCELOCATION%\JSHARP\jsredist.msi" /QB-! /liewa "%SOURCELOCATION%\LOG\jsharp.install.log"
msiexec /update “%SOURCELOCATION%\CTXPatch\ASC400W004.msp”/QB-! /liewa "%SOURCELOCATION%\LOG\asc400w004_install.log"
Figure 1: Example of unattended installation of the Prerequisites.
Web Interface unattended Installation
At the moment of writing, Web Interface 4.2 is the latest version, which can be downloaded from MyCitrix.com. In contrast to most other Citrix installations Web Interface is not provided as an MSI file, fortunately silent installation functionality is provided by Citrix.
Therefore unpack the downloaded executable (rename the file to a ZIP format). In the unpacked structure a WebInterfaceSetup.exe can be found. This executable can be started with parameters for unattended installation.
With Web Interface 4 and Presentation Server 4 you have two options to store your Web Interface configuration. It can either be local on the web server or centrally stored in the Citrix Datastore.
The local configuration is the old-style already known from earlier Web Interfaces. All configuration settings are stored in a file within the Web Interface directory. If you choose this solution the following parameters are applicable.
This parameter bypasses the check if the Access Suite Console is installed. I never tested if Web Interface functions completely without the console installed.
Specifies the destination installation directory where the management part and language packs are installed.
This parameter specifies that the installation will be done silently.
If you would like to log the installation (I really advise this for troubleshooting purposes) and where the log file should be created.
This parameter specifies the install on a new site on the web server. Use of this parameter if Web Interface is not available on the target server. If you would like to add sites on a current Web Interface server use –M parameter. The <sitedef> settings are explained below.
Within the <sitedef> you need to specify how the Web Interface needs to be configured. If no Web Interface of PNA is configured you need to use the <TYPE>Dest parameter. It is also possible to change settings with the parameter <TYPE>Current, but I’m not going to discuss this parameter in this article.
The <TYPE> part needs be changed by WI for the installation of the Web Interface part or PNA for the PN Agent part. This parameter needs to be followed by the website identifier that you would like to install the product on. The identifier will be shown if you open the Internet Information Services Console add clicks website. All websites are shown in the right pane with the identifier name beside it. Besides the identifier you also need to specify in which (virtual) directory the software needs to be placed.
Besides the <TYPE>Dest for a local configuration you also need to specify the parameter Config with the value “local” (obvious, isn’t it?). To connect the Web Interface to a Citrix environment you also need to specify the name of the farm using the FarmName parameter, with which protocol the communication with the XML services is taking place (HTTP,HTTPS,SSL) via the XMLSPortocol parameter and at the XMLService parameter one server name and the XML port. If needed you can specify the Web Interface component should be the default site on the server with the parameter WIDefaultSite. Combining your unattended installation can look like this.
WebInterfaceSetup.exe -noasc -p "D:\Apps\WI" -q -g "%TEMP%\WI_INSTALL.LOG" -c WIDest=1:/Citrix/Metaframe,PNADest=1:/Citrix/PNAgent,FarmName=VanBragtFarm,Config=Local,XMLService=TS1:80,WIDefaultSite=Yes"
Figure 2: Example script unattended installation with local configuration
After the installation you have a basic configured Web Interface server available. Still in all (current) Web Interface versions all settings are stored in files. For the Web Interface itself in webinterface.conf and for the PN Agent in config.xml. You can create your own configuration on one machine and just copy that configuration (from a central location to your other servers). Or you could create a template webinterface.conf/config.xml and fill that one with specified parameters if you have more experience with scripting.
Remember that if you change or add images to copy those also. Citrix stores images into %systemroot%\Inetpub\<website>\citrix\metaframe\media, but they can be stored everywhere. I normally create a new directory in a media folder called customization.
New within Web Interface 4 and Presentation Server 4 is the possibility of storing the Web Interface configuration in the data store of the Presentation Server. This central configuration will be read out by the Web Interface servers which you configure in the same group.
The basic parameters are the same as described for the local configuration. Only at the <TYPE>Dest other parameters are required.
At the Config parameter one or more Presentation servers need to be filled in, together with their port number. Optionally again, the WIDefaultSite can be added, but no other parameters are needed.
WebInterfaceSetup.exe -noasc -p "D:\Apps\WI" -q -g "%TEMP%\WI_INSTALL.LOG" -c WIDest=1:/Citrix/Metaframe,PNADest=1:/Citrix/PNAgent,Config=TS1:80:TS2:80,WIDefaultSite=Yes"
Figure 3: Example script, unattended installation with central configuration
After installation via this script you need to move the site to the group which you would like to inherit the settings.
Figure 4: Adding server AS1 to the Group Web Interface VanBragt.Net
Remember that if you specify images standing locally on the server that they need to copied to those directories.
Removing and adding languages
In Web Interface 4 it has become much easier to support multiple languages using one Web Interface server. Citrix delivers Web Interface with default languages files for English, German, French, Spanish and Japanese.
If you need your first language in the manual of Web Interface you can find how to configure the language files. But for several languages someone did this already and published those for the community. At Brianmadden.com you can find language files for Italian, Dutch, Flemish, Belgian French, Swedish and Norwegian.
Just copy those files into the language directory in the installation directory. If you would like to remove one of the default languages just delete (or even better move it to a backup directory) the <language>.lang file in the languages directory.
MOVE D:\Apps\Wi\4.2\languages\de.lang D:\Apps\Wi\4.2\languages\Backup
MOVE D:\Apps\Wi\4.2\langauges\es.lang D:\Apps\Wi\42.\languages\Backup
COPY %SOURCELOCATION%\NL_LANG D:\Apps\Wi\4.2\languages
Figure 5: Remove and adding languages to the Web Interface.
Within the Access Suite Console you can change the default behaviour of the Web Interface appearance, but many administrators go further than these possibilities. If you would like to know more about this I can really recommend Thomaskoetzing.de and Jasonconger.com.
In this article I explained how you can perform and unattended install of Web Interface via the parameters supplied by Citrix including the software prerequisites. Both local configuration as centrally stored configuration installations are described including basic customization of the Web Interface by copying configuration and language files. Also some good resources are mentioned to customize your Web Interface beyond the default possibilities offered by Citrix.