Skip to main content

Understanding ICA File Contents

The Citrix XenApp Server usually provides a web interface for the published application(s) it hosts. Selection of a particular application icon from inside the web browser results in the downloading and caching of the ICA file. Then, the Citrix client is invoked using the settings defined in the ICA file.

You can create or modify an existing ICA file for use with Citrix Virtual Users, but it must conform to the file format described here. Below is an example of an ICA file describing fictitious connection settings for a Microsoft PowerPoint application hosted on a Citrix platform.

Depending on how the administrator has configured the XenApp Server environment, the ICA file will contain one or more entries without values in the [ApplicationServers] block. For the example below, there is only a single entry for the application Microsoft PowerPoint. Each entry in the [ApplicationServers] block will have its own block containing the application settings.

[ApplicationServers]
Application1=
Application2=

[Application1]
...

[Application2]
...

Testing the ICA file

If your operating system is configured with a file association to launch .ica files with Citrix Workspace, then double-clicking the ICA file will automatically attempt to connect to the application. This can provide a quick way of testing that your ICA file is valid before using it with Citrix Virtual Users.

note

Citrix Workspace is the most common Citrix client, but not the only one. Citrix Virtual Users also act as Citrix clients and can use an ICA file to connect to a Citrix server.

If the ICA file you are using contains the key RemoveICAFile and this is set to yes, then launching the Citrix client will result in the file being deleted from the file system after the Citrix session ends. To prevent the file being deleted, either comment out the RemoveICAFile line or set the value to no.

# RemoveICAFile=yes
or
RemoveICAFile=no
note

Lines beginning with a hash # character are treated as comments and ignored by the Citrix client.

Modifying ICA properties in a virtual user script

The ICA properties can be set from within a Citrix Virtual User script using the method:

SetIcaProperty(string property, string value);

For example:

SetIcaProperty("FontSmoothingType", "1");

Example ICA file

Each line in the file is explained below.

[Encoding]
InputEncoding=UTF8

[WFClient]
RemoveICAFile=yes
TcpBrowserAddress=91.208.99.13
TransparentKeyPassthrough=Local
TransportReconnectEnabled=On
Version=2

[ApplicationServers]
Microsoft PowerPoint=

[Microsoft PowerPoint]
Address=91.208.99.13:1494
AutologonAllowed=ON
BrowserProtocol=HTTPonTCP
ClearPassword=w0rdhash#
ClientAudio=On
DesiredColor=8
DesiredHRES=1024
DesiredVRES=768
Domain=TESTTEAM
EncryptionLevelSession=EncRC5-128
FontSmoothingType=0
FontSmoothingTypePref=1
InitialProgram=#PowerPoint
Password=
ScreenPercent=100
SSLCiphers=all
SSLEnable=Off
SSLProxyHost=\*:443
TransportDriver=TCP/IP
UILocale=en
Username=ptestuser
WinStationDriver=ICA 3.0

[Compress]
DriverNameWin32=pdcompn.dll

Example ICA file explained

[Encoding]

This block defines the character encoding type of the ICA file.


InputEncoding=UTF8

Describes the character encoding type of the ICA file. This information is used by the Citrix client to convert and understand the ICA file data should the Metaframe web server use a different encoding type to that of the the Citrix client.


[WFClient]

This block defines the WinFrame Client.


RemoveICAFile=yes

Specifies whether or not the ICA file should be deleted after the Citrix session has finished.

note

Setting the value to no may be useful whilst developing the Citrix script so the client can be launched quickly (by double clicking the ICA file) without the file being deleted when the Citrix session has ended.


TcpBrowserAddress=91.208.99.13

The IP address of the Citrix server.

Required field

If the Address field is not present.


TransparentKeyPassthrough=Local

Determines how the mapping of certain Windows key combinations are used during the Citrix session.


TransportReconnectEnabled=On

Specifies whether Auto Client Reconnect is enabled or not.


Version=2

Specifies the WinFrame Client version number.

Required field

[ApplicationServers]

This block defines each application hosted on Citrix to which you have been granted access.


Microsoft PowerPoint=

The first application in the block. The names of each application are defined by the Administrator. These fields do not have values.

Required field

[Microsoft PowerPoint]

This block defines the first application in the [ApplicationServers] list. The ICA file will always contain one or more application blocks which map to each application in the list.


Address=91.208.99.13:1494

The address of the remote Citrix server. For TCP/IP connections this can be the DNS name or IP address of the Citrix server, or in some cases the name of a published application. For IPX, SPX, and NetBIOS connections it can be the name of a Citrix server or the name of the published application.

The port is sometimes included with the address of the Citrix server but this is not mandatory.

Required field

AutologonAllowed=ON

Specifies whether or not auto-logon is allowed for Secure ICA clients. If this field is set to OFF the user will need to enter their username, domain and password every time a connection attempt with the Citrix server is made.


BrowserProtocol=HTTPonTCP

Specifies the network protocol used for ICA browsing. This defaults to UDP although when connecting from the internet this would almost certainly be set to HTTPonTCP by the administrator.


ClearPassword=w0rdhash#

Specifies the clear text (unencrypted) password for the user account. This is an optional field.

To use a clear text password, the Password field must be unset, i.e.

Password=

ClientAudio=On

Specifies whether or not client audio mapping should be enabled.


DesiredColor=8

Integer field specifying the preferred color palette depth for a session:

  • 1 = 16 color
  • 2 = 256 color
  • 4 = high color
  • 8 = true color (32-bit)
Required field

DesiredHRES=1024

Specifies the horizontal window size in pixels.

Required field

If the ScreenPercent field is not present - ScreenPercent will take precedence if it is.


DesiredVRES=768

Specifies the vertical window size in pixels.

Required field

If the ScreenPercent field is not present - ScreenPercent will take precedence if it is.


Domain=TESTTEAM

Specifies the domain to log on to.


EncryptionLevelSession=EncRC5-128

Specifies the encryption level to be used for the Citrix connection:

  • EncRC5-40
  • EncRC5-56
  • EncRC5-128

FontSmoothingType=0
warning

Recommended setting is 1 (turn off font smoothing).

An integer field specifying the font smoothing type for the session. The value is only set after connection once the session has been established. The local Windows ClearType setting must be on for FontSmoothing to be enabled.

FontSmoothing/Cleartype tends to make image matching of text less reliable due to the different ways terminals can render the ClearType text.


FontSmoothingTypePref=1
warning

Recommended setting is 1 (turn off font smoothing).

Used as a default if FontSmoothingType is set to zero.


InitialProgram=#PowerPoint

Specifies the name and/or path of the published application to be automatically launched when the connection is established. This may or may not include command line parameters.

If the name of the published application is already specified in the Address field, then the name of the published application must be prefixed with a hash character (#). Here the published application name must be entered exactly as it appears in the Address field (case sensitive).

Required field

Password=

Specifies the password for the user account. This is an optional field. The password, if used, must be encrypted.

To enter an encrypted password into the ICA file, use the Citrix ICA Client Remote Application Manager's New Entry wizard to create a remote application entry. When you are prompted for the username and password, enter the password that you want to use in the ICA file.

  • Finish the New Entry wizard.
  • Open the file APPSRV.INI in the Windows directory and locate the entry you just created.
  • Copy the encrypted password value and paste it into the ICA file.

ScreenPercent=100

Specifies the size of the window as a percentage of the client desktop size. Takes precedence over DesiredHRES/VRES fields and is available only when lauching the Citrix session from the Citrix Web Client.


SSLCiphers=all

Used when the platform supports multiple SSL cipher suites. This parameter determines which cipher suite(s) the client is permitted to use to establish a succesful SSL connection.


SSLEnable=Off

Specifies whether or not SSL is enabled.


SSLProxyHost=\*:443

Specifies the server name value. By default, this parameter is not present, or, if it is present, the value is set to \*:443.


TransportDriver=TCP/IP

The data transport type. Usually TCP/IP, but can also be IPX, SPX, or NetBIOS.

Required field

UILocale=en

The language of the WinFrame user interface on the Citrix Client PC.


Username=ptestuser

Specifies the name of the user account used as part of the logon credentials.


WinStationDriver=ICA 3.0

Defines the version of the ICA presentation/XenApp server protocol.

Required field

[Compress]

This block defines the compression driver to use.


DriverNameWin32=pdcompn.dll

Specifies the name of the Win32 driver file to load for the specified driver. The pdcompn library is the compression driver - it is in the [Compress] block.


For details on other ICA file keys, see the Citrix ICA settings reference.