UiPath Studio Guide

How Native Citrix Automation Works

Selectors for Citrix Apps

After you complete the Configuration Steps, you can detect individual UI elements from a Citrix App and get selectors for them.

This is what the generated selector for Calculator opened as a Citrix App looks like:

<wnd app='win32calc.exe' cls='CalcFrame' isremoteapp='1' title='Calculator' />
<wnd ctrlid='137' />

This is what the generated selector for Calculator opened as a local application looks like:

<wnd app='win32calc.exe' cls='CalcFrame' title='Calculator' />
<wnd ctrlid='137' />

As you can see, the only difference between the two selectors is the isRemoteApp='1' attribute. This gets added automatically when selecting an UI element from a Citrix App.

Apart from this attribute, there are no distinctions between an automation process for a local application and an automation process for a Citrix App. All the activities and wizards work exactly the same.

Supported Functionalities

With Native Citrix support, you can do the following:

  • Generate selectors for UI elements in Citrix Apps.
  • Use the activities from the UiPath.UIAutomation.Activities package (such as Click, Type Into, and more).
  • Use Data and Screen Scraping Wizards.

Please note that for Citrix Apps, the Browser activities and User Events monitoring are not yet supported by the UiPath.UIAutomation.Activities package.

Architecture Overview

The UiPath Remote Runtime is installed on the Citrix application server, while the UiPath Citrix Extension on the client machine. The communication between these components is done through an ICA Virtual Channel. This is the same mechanism used for transmitting data such as audio and video for Citrix Apps, so no additional configuration is needed.

The diagram below showcases the data flow between the client and the server: