Home > Articles > Operating Systems, Server > Microsoft Servers

  • Print
  • + Share This

ICA Client Detection and Installation with NFuse 1.5

In conjunction with the release of NFuse 1.5, Citrix has provided some automated Web script generation and self-extracting ICA client files that greatly simply the task of managing the deployment of the ICA client. Although this functionality is not strictly an NFuse 1.5 feature (it does not require NFuse to function), the Web Site Wizard provided with 1.5 automatically integrates this support into any of its generated NFuse Web sites.

Client Detection

Figure 7 summarizes the steps involved in the ICA client-detection process. The diagram itself is not intended to duplicate the exact programmatic flow of the client-detection scripts, but it does demonstrate the logic that is employed to determine whether a client installation window should appear. The detection phase can be broken down into four general pieces:

  1. The userAgent property of the Web browser is queried to try to determine what operating system the user is running.

  2. If the generated Web site was configured to use the ICA Java applet, then the Java Applet detection message is displayed even though no actual client installation is taking place.

  3. If the browser is IE and the OS is Win32, then an attempt is made to instantiate version 6 of the ActiveX control. If this succeeds, then it is assumed that the 6.0 Win32 client is installed, so the logon page is immediately displayed. If it fails, then an older client version is assumed and the installation pop-up is displayed.

    If the browser is IE and the OS is Win16, or if the browser is Netscape and the OS is Win32 or Win16, then the appropriate plug-in is queried for the version information. If no information is returned or it is not version 6.0, then the installation pop-up is displayed.

  4. In all other situations, the installation pop-up message corresponding to the native ICA client will appear, recommending that the user download the latest client, if the user does not already have it. Support currently does not exist to allow the detection of an ICA client (or its version) on a non-Windows operating system.

Figure 7

Citrix ICA client-detection process

If it is determined that the user may need to install an updated client, then a Web page pops up, similar to the one shown in Figure 8. From here, the user can select the link to download and install the corresponding client. Selecting the Do Not Show This Window at Login checkbox creates a cookie on the client that will prevent the pop-up from appearing in the future.

Figure 8

Citrix ICA Client Installation pop-up dialog box

Depending on the Web server configuration that was selected when running the Web Site Wizard, the files responsible for controlling client detection will vary slightly. Table 5 lists the Web server configuration along with the corresponding detection files and their function in relation to Figure 7.

Table 5

Web Server Configurations and the Corresponding Client-Detection Files

Web Server Configuration

Detection File


Active Server Pages or HTML for IIS


Step 1.



Steps 2, 3, and 4.



Contains the cross-reference information between the client type and the appropriate client installation files.


HTML for Servlets


Step 1.


Com.Citrix.NFuse.PNClientDetect servlet

Steps 2, 3 and 4. This servlet combines the functions performed by icaclient.asp and icaclientinfo.asp.


JavaServer Pages


Step 1.



Steps 2, 3, and 4. This jsp file combines the functions performed by icaclient.asp and icaclientinfo.asp.

These files can be edited to streamline or customize the detection process, if desired. For example, if you know that all of your clients will be running a Win32 operating system, you can go into the appropriate HTML file and remove the detection code for other operating systems, possibly replacing it with a message simply stating that non-Win32 clients are not supported. To successfully modify the contents of these files, you should have some experience with Web-scripting languages such as JavaScript.

Client Installation

For a user to be able to successfully download and install the appropriate client for the desktop, the necessary files need to be available on the NFuse-enabled Web server. The Web files generated by the Web Site Wizard assume that these client installation files are located in the path <Web Root>\NFuseClients\<Language>\<Client Type>, where <Language> can be one of the following:











Also, <Client Type> is one of the following:







The appropriate client installation link that is placed in the pop-up window (see Figure 8) is based on the information gathered during the detection phase. The specific language information is not detected, but instead it is hard-coded into the client information file by the Web Site Wizard. For example, on an IIS server, the icaclientinfo.asp file contains the appropriate client installation file information. The Win32 information would look similar to the following:

' [01] ### Win32 ###
clientData(1,1) = "Win32"
clientData(1,2) = "en/ica32/ica32.exe"
clientData(1,3) = "4,2,779,0"
clientData(1,4) = "en/ica32/ica32.exe"

The client installation files themselves are populated during the NFuse Web Server component installation, when you are prompted to provide the path to the ICAWEB source files, or you can create and populate these folders manually at any time after the NFuse install. The ICAWEB folder is available on the Citrix ICA 6.0 client CD or can be downloaded from the Citrix Web site. Figure 9 shows an example of the NFuseClients folder under wwwroot on an IIS 5.0 Web server. For more information on the NFuse Web Server component installation, you can refer to the first article in this series, "Citrix NFuse 1.5: Part I – Basic Setup and Configuration."

Figure 9

NFuseClients folder layout on an IIS 5.0 Web server

  • + Share This
  • 🔖 Save To Your Account

Related Resources

There are currently no related titles. Please check back later.