[x]

Site Alert(s):

  • Server maintenance Saturday Nov 22, 2008, 12:00 PM - 3:00 PM. The Knowledge Center will be unavailable during this time.
Rate this Article:
You must be signed in to rate again
Article Feedback Print View
Alternate Languages:

Making ICA File Modifications In Advanced Access Control 4.0

Document ID: CTX107582   /   Created On: Sep 14, 2005   /   Updated On: Dec 26, 2005
Average Rating: not yet rated

Making ICA file modifications In Advanced Access Control 4.0

In Advanced Access Control 4.0, ICA file modifications are made by updating two files: ICAFile.xslt and UserPreferences.xslt.

The ICAFile.xslt file is similar to the template.ica file used in Web Interface. This file allows you to make global changes to the parameters generated in an ICA file. ICAFile.xslt is located under \Program Files\Citrix\MetaFrame Secure Access Manager\Bin\Binders. Any changes to this file should be made on all servers running the Resource Aggregation Service. After changes are made, the Resource Aggregation Service must be restarted for the changes to take effect.

A number of sample modifications are shown below.

Proxy Configuration

There are several proxy configurations that can be configured by modifying the ICAFile.xslt. This allows the ICA client to connect to a Presentation Server through an HTTP or SOCKS proxy server.

ProxyType=[VALUES: None, Auto, Socks(Detect Version), SocksV4, SocksV5, Tunnel, Script]
ProxyHost=[Proxy Address:Proxy Port]
ProxyBypassList=
ProxyAutoConfigURL=[http path to AutoConfig or PAC file]
ProxyUsername=[Proxy/SOCKSv5 Username]
ProxyPassword=[Proxy/SOCKSv5 Password]
ProxyTimeout=[Time in seconds the client waits for initial response from proxy server]
ProxyUseFQDN=True

Auto Client Reconnect

To disable Auto Client Reconnect globally, add the following line:

TransportReconnectEnabled=Off

Root Certificate for the Java Client

ICAFile.xslt can be used to specify a root certificate for use by the Client for Java when making ICA connections through Secure Gateway. This keeps you from having to package the certificate in a .cab or .jar file. In order to do this, add the following line:

SSLNoCACerts=1
SSLCACert0=cert_name.cer

If it is a multiple certificate (chain certificate), modify the following:

SSLNoCAcerts=<no. of certs>
SSLCACert0=<sslcert1.cer>
SSLCACert1=<sslcert2.cer>

The root certificate must be copied to the Client for Java directory on the Web server.

Remapping Hotkeys

To remap the hotkeys, insert the hotkey parameters in the WFClient section of the Icafile.xslt file:

ClientName=<xsl:value-of select="ica:ClientName" />
Hotkey1Char=F1
Hotkey1Shift=Shift
Hotkey2Char=F3
Hotkey2Shift=Shift
Hotkey3Char=F2
Hotkey3Shift=Shift
Hotkey4Char=F1
Hotkey4Shift=Ctrl
Hotkey5Char=F2
Hotkey5Shift=Ctrl
Hotkey6Char=F2
Hotkey6Shift=Alt
Hotkey7Char=plus
Hotkey7Shift=Alt
Hotkey8Char=minus
Hotkey8Shift=Alt
Hotkey9Char=F3
HotKey10Shift=Ctrl
Hotkey10Char=F5
HotKey9Shift=Ctrl
Hotkey11Char=plus
Hotkey11Shift=Ctrl
BrowserRetry=1
BrowserTimeout=20000
HttpBrowserAddress=!
<xsl:apply-templates select="ica:CSGEnabled"/>

These are the default hotkey parameters. They can be disabled by setting the value to “none” or if any keys affect an application, they can be changed to reflect a key that does not conflict with the application.

Customizing Application Launch

The UserPreferences.xslt file can be used to modify launch parameters for specific applications. The UserPreferences.xslt file is located under \Program Files\Citrix\MetaFrame Secure Access Manager\Bin\Binders. One of the most common modifications is window size. Two example modifications are shown below. One sets applications to a percent of the screen size, the other sets a specific window size.

<!--
     This template will set the window type to "Percent" for the named application. For all other applications the above semantics for applying user preferences are preserved
     -->
          <xsl:template match="ica:WindowType">
                     <xsl:choose>
                               <xsl:when test="/ica:ICABinding[ica:ApplicationName='Notepad']">
                                          <xsl:copy>
                                                   <ica:Percent>100</ica:Percent>
                                          </xsl:copy>
                               </xsl:when>
                               <xsl:when test="/ica:ICABinding[ica:ApplicationName='Solitaire']">
                                          <xsl:copy>
                                                         <ica:Percent>50</ica:Percent>
                                           </xsl:copy>
                               </xsl:when>
                               <xsl:otherwise>
                                         <xsl:call-template name="replace.context.element">
                                                         <xsl:with-param name="replacement" select="$Transform/Arguments/ica:UserPreferences/ica:ApplicationSettings/ica:WindowType"/>
                                                         <xsl:with-param name="allowed" select="$Transform/Arguments/ApplicationSettingsControl/@WindowType"/>
                                        </xsl:call-template>
                               </xsl:otherwise>
                         </xsl:choose>
         </xsl:template>

This example shows how to set an application to a specific window size:

<xsl:when test="/ica:ICABinding[ica:ApplicationName='APP01']">
<xsl:copy>
         <ica:Pixels>
                      <ica:Width>800</ica:Width>
                      <ica:Height>600</ica:Height>
         </ica:Pixels>
         </xsl:copy>
</xsl:when>

This document applies to:

Search
Knowledge Center
XenApp
XenApp Plugins (Clients)
XenServer
XenDesktop
NetScaler Application Delivery
Access Gateway
EdgeSight
Provisioning Server
WANScaler
Password Manager
Does it work with Citrix? Verify it - introducing the new Citrix Ready Community Verified