Without a doubt, Citrix MetaFrame’s Web Interface is the primary interface that most employees see when they connect to corporate applications from outside the firewall. The fact that it can automatically deploy the ICA client software to a client machine is one of its biggest selling points. However, this can also be one of the biggest sticking points when users are trying to run applications from the locked down client devices that are typically found in public locations. These client devices rarely have the ICA client software preinstalled, and they certainly won’t allow users to install the ICA client software.
Therefore, in order to provide access to applications in these types of situations, you need a way to be able to provide an ICA client software that can run on a client device without actually being installed on it. This is the perfect job for the ICA Java Client running in applet mode.
The ICA Java client can still provide standalone window access to remote MetaFrame applications. However, it can do so without touching the local system at all—all of the Java components can be downloaded at runtime and destroyed when the user logs off.
Unfortunately, it’s impossible to “automatically” configure your Web Interface server to use the Java client if the Win32 client cannot be installed. After all, once the web server passes down the Win32 CAB file to the client browser, it has no way of knowing whether it actually installed or not.
However, it is quite simple to configure your Web Interface server to allow the user to choose which client they’d like. For example, I like to automatically provide the “proper” Win32 ICA client to my users. However, if that fails, I tell my users that they can click on the little toolbox icon on the Web Interface portal page and select the “Java” client from the dropdown list. This single extra configuration step by the user can mean the difference between being able to log on and not being able to—something that most users can put up with if they have critical work to be done.
Configuring you Web Interface so that “fallback” clients are available is simple. We’ll step through a Web Interface 3.0 configuration, but Web Interface 2.x configuration is virtually identical.
On Web Interface 3.0 server, log in to the administration portal and click the “Client Deployment” link. The first option you’ll need to specify (via a radio button list labeled “By default launch applications with:”) is which client platform you’d like your default to be. This is the client that will be used by regular users who don’t change anything. I personally like to use the “local client” option here. This will cause Win32 clients to get the Win32 version of the ICA client software.
Then, as a fallback, we have to give users the choice to manually override the Win32 client to pick some other clients (which they can do by clicking on the toolbox icon). You can do this with the “Allow user to select Client from:” list below the default setting. By default, whichever client you made the default will be selected (and grayed in). Under that you’ll want to check the Java client option to provide that as a choice on their list as well.
While enabling the RDP client also seems like a good idea here (since most clients have it installed already), it would require port 3389 to be open between the client and the server. Since that’s not usually the case outside of the firewall, I don’t usually enable this option so that I don’t confuse the users.
That’s all there is to it! This simple configuration can save a lot of trouble down the road.