Configuring Citrix Application Settings

The following XML shows the available App configuration file settings for Citrix integration that are applicable to both the Citrix Server component and the Integrated Agent Desktop executable files. These settings are not required for operation.

XML Copy Code
<configuration>
<appSettings>
<add key="CitrixIntegration.VirtualChannelNamePrefix" value="CTXUII"/>
<add key="CitrixIntegration.XmitFragmentSize" value="1000"/>
<add key="CitrixIntegration.RecvTimeoutInMilliseconds" value="2000"/>
<add key="CitrixIntegration.HeartbeatMaxWaitInMilliseconds" value="60000"/>
<add key="CitrixIntegration.ClientOnly.HeartbeatIntervalInMilliseconds" value="15000"/>
</appSettings>
</configuration>

The keys shown in the preceding XML have the following definitions:

  • CitrixIntegration.VirtualChannelNamePrefix – For each launched Citrix-published application, two distinctly named virtual channels are created. The channels share a common prefix. This setting exposes the prefix to customization, although it is usually not necessary. This setting must be identical on both the client side and the server side.
  • CitrixIntegration.XmitFragmentSize – Virtual channel transmissions are fragmentized to the limit specified here. The setting will be internally capped if it exceeds internal limits (trace messaging should report when this happens). This setting can differ between the client side and the server side.
  • CitrixIntegration.RecvTimeoutInMilliseconds – As with all network communications, timeouts are necessary to help determine when the communication peer is unavailable. Citrix integration communication is all request/response oriented, and this setting specifies how long the response should take before the system abandons waiting for the response. This setting can differ between the client side and server side.
  • CitrixIntegration.HeartbeatMaxWaitInMilliseconds – A virtual channel communication activity is counted as a heartbeat. This setting specifies the maximum amount of time that can elapse without any intervening communication, after which, either side of the communication channels (client or server) can conclude that the opposing peer is unavailable. The Citrix Server component terminates after reaching this conclusion. The client-side component, CitrixApplicationHostedControl, terminates the internal heartbeat PING timer. This setting can be different on the client side and server side.
  • CitrixIntegration.ClientOnly.HeartbeatIntervalInMilliseconds – A client side–only setting, this specifies the period during which a timer will continue to trigger PING messages to the Citrix Server component, which in turn will reply with corresponding PONG messages. This is intended to prevent the client and server components from incorrectly concluding that their communication peer has disappeared. This setting is consumed by only the client side.

The following settings represent the application settings for UII Citrix integration:

  • ICAFileName – This is consumed by the client-side CitrixApplicationHostedControl. It specifies the full path for the Citrix.ica file that is necessary for launching the Citrix-published application.
  • ProcessAcquisition – This is consumed by the Citrix Server component. It controls how the Citrix Server component acquires the process that is running the launched Citrix-published application. The following are some of its attributes:
    • Filename – This is compared with the file names of the running processes. The complete path name must be provided.
    • Attempts – This defines the number of times to scan the process table looking for a match (the started process might take a little time to appear in the process table).
    • Delay – This shows the delay between process table scans; it is measured in milliseconds.