- Release Notes
- Getting Started
- Setup and Configuration
- Automation Projects
- Dependencies
- Types of Workflows
- File Comparison
- Automation Best Practices
- Source Control Integration
- Debugging
- The Diagnostic Tool
- Workflow Analyzer
- About Workflow Analyzer
- ST-NMG-001 - Variables Naming Convention
- ST-NMG-002 - Arguments Naming Convention
- ST-NMG-004 - Display Name Duplication
- ST-NMG-005 - Variable Overrides Variable
- ST-NMG-006 - Variable Overrides Argument
- ST-NMG-008 - Variable Length Exceeded
- ST-NMG-009 - Prefix Datatable Variables
- ST-NMG-011 - Prefix Datatable Arguments
- ST-NMG-012 - Argument Default Values
- ST-NMG-016 - Argument Length Exceeded
- ST-DBP-002 - High Arguments Count
- ST-DBP-003 - Empty Catch Block
- ST-DBP-007 - Multiple Flowchart Layers
- ST-DBP-020 - Undefined Output Properties
- ST-DBP-023 - Empty Workflow
- ST-DBP-024 - Persistence Activity Check
- ST-DBP-025 - Variables Serialization Prerequisite
- ST-DBP-026 - Delay Activity Usage
- ST-DBP-027 - Persistence Best Practice
- ST-DBP-028 - Arguments Serialization Prerequisite
- ST-USG-005 - Hardcoded Activity Arguments
- ST-USG-009 - Unused Variables
- ST-USG-010 - Unused Dependencies
- ST-USG-014 - Package Restrictions
- ST-USG-020 - Minimum Log Messages
- ST-USG-024 - Unused Saved for Later
- ST-USG-025 - Saved Value Misuse
- ST-USG-026 - Activity Restrictions
- ST-USG-027 - Required Packages
- ST-USG-028 - Restrict Invoke File Templates
- Variables
- Arguments
- Imported Namespaces
- Recording
- UI Elements
- Control Flow
- Selectors
- Object Repository
- Data Scraping
- Image and Text Automation
- Citrix Technologies Automation
- About Citrix technologies automation
- Configuration steps
- Example of automating a Citrix App
- Known issues and limitations
- RDP Automation
- Salesforce Automation
- SAP Automation
- VMware Horizon Automation
- Logging
- The ScreenScrapeJavaSupport Tool
- The WebDriver Protocol
- Test Suite - Studio
- Extensions
- Troubleshooting
Studio User Guide
About Citrix technologies automation
In our pursuit to increase your automation capabilities, we have made it possible to use UI activities and wizards with Citrix Apps. By installing the Extension for Citrix on the client machine and the UiPath Remote Runtime component on the Citrix Virtual Apps (formerly known as Citrix XenApp) application servers, you can now create automation projects for Citrix Apps as if they were local applications. Selectors are natively generated for Citrix App elements, and you can use the full range of UIAutomation activities (such as Click, Type Into, Get Text, Extract Data, and more), as well as mouse and keyboard events monitoring activities.
More than this, Studio and Robot now have the Citrix Ready certification. Find out what this means for Studio and the Robot.
Before you can start creating processes for Citrix Apps, you need to follow these Configuration Steps.
Opening Citrix Apps is done in a particular way, about which you can read here.
There's also an example you can look over to get a better idea about selectors generated for applications virtualized through Citrix.
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' />
<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' />
<wnd app='win32calc.exe' cls='CalcFrame' title='Calculator' />
<wnd ctrlid='137' />
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.
With the UiPath Extension for Citrix and UiPath Remote Runtime component installed, the following actions are enabled:
- Generating selectors for UI elements in Citrix Apps and Desktops.
- Using the activities from the UiPath.UIAutomation.Activities package (such as Click, Type Into, and more).
- Using mouse and keyboard monitoring events activities.
- Using Data and Screen Scraping Wizards.
- Automating browsers opened as Citrix Apps.
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: