- Release Notes
- Getting Started
- Setup and Configuration
- Automation Projects
- Dependencies
- Types of Workflows
- Control Flow
- File Comparison
- Automation Best Practices
- Source Control Integration
- Debugging
- Logging
- 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-NMG-017 - Class name matches default namespace
- ST-DBP-002 - High Arguments Count
- ST-DBP-003 - Empty Catch Block
- ST-DBP-007 - Multiple Flowchart Layers
- ST-DPB-010 - Multiple instances of [Workflow] or [Test Case]
- ST-DBP-020 - Undefined Output Properties
- ST-DBP-021 - Hardcoded Timeout
- 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
- ST-USG-032 - Required Tags
- ST-USG-034 - Automation Hub URL
- Variables
- Arguments
- Imported Namespaces
- Coded automations
- Introduction
- Registering custom services
- Before and After contexts
- Generating code
- Generating coded test case from manual test cases
- Trigger-based Attended Automation
- Recording
- UI Elements
- Selectors
- Object Repository
- Data Scraping
- Image and Text Automation
- Citrix Technologies Automation
- RDP Automation
- VMware Horizon Automation
- About VMware Horizon Automation
- Configuration Steps
- Salesforce Automation
- SAP Automation
- macOS UI Automation
- The ScreenScrapeJavaSupport Tool
- The WebDriver Protocol
- Extensions
- About extensions
- SetupExtensions tool
- UiPathRemoteRuntime.exe is not running in the remote session
- UiPath Remote Runtime blocks Citrix session from being closed
- UiPath Remote Runtime causes memory leak
- UiPath.UIAutomation.Activities package and UiPath Remote Runtime versions mismatch
- The required UiPath extension is not installed on the remote machine
- Screen resolution settings
- Group Policies
- Cannot communicate with the browser
- Chrome extension is removed automatically
- The extension may have been corrupted
- Check if the extension for Chrome is installed and enabled
- Check if ChromeNativeMessaging.exe is running
- Check if ComSpec variable is defined correctly
- Enable access to file URLs and Incognito mode
- Multiple browser profiles
- Group Policy conflict
- Known issues specific to MV3 extensions
- List of extensions for Chrome
- Chrome Extension on Mac
- Group Policies
- Cannot communicate with the browser
- Edge extension is removed automatically
- The extension may have been corrupted
- Check if the Extension for Microsoft Edge is installed and enabled
- Check if ChromeNativeMessaging.exe is running
- Check if ComSpec variable is defined correctly
- Enable access to file URLs and InPrivate mode
- Multiple browser profiles
- Group Policy conflict
- Known issues specific to MV3 extensions
- List of extensions for Edge
- Extension for Safari
- Extension for VMware Horizon
- Extension for Amazon WorkSpaces
- SAP Solution Manager plugin
- Excel Add-in
- Test Suite - Studio
- Troubleshooting
About VMware Horizon Automation
VMware allows you to access and work with virtualized desktops and applications. Native selectors are generated for corresponding elements by Studio after you install the UiPath Remote Runtime component on the server and the UiPath Extension for VMware on the client machine. This enables you to create automation projects with the full range of UIAutomation activities, such as Click, Type Into, Get Text, Extract Data, and more.
Following the configuration steps is necessary for enabling native automation for VMware technologies.
Once you complete the configuration steps, selectors can be generated for individual UI elements of applications virtualized through VMware Horizon.
This is what the generated selector for Calculator opened as a VMware Horizon 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 you select an UI element from a VMware Horizon app.
Apart from this attribute, there are no distinctions between an automation process for a local application and an automation process for a VMware Horizon app. All the activities and wizards work exactly the same.
With the UiPath Extension for VMware Horizon and the UiPath Remote Runtime component installed, the following actions are enabled:
- Generating selectors for UI elements in VMware applications and desktops.
- Using the activities from the
UiPath.UIAutomation.Activities
package (such as Click, Type Into, and more). - Using Data and Screen Scraping Wizards.
- Automating browsers opened as VMware Horizon apps.
The UiPath Remote Runtime is installed on the VMware Horizon application server, while the UiPath extension for VMware Horizon on the client machine. The communication between these components is done through an Horizon Virtual Channel. This is the same mechanism used for transmitting data such as audio and video, so no additional configuration is needed.
The diagram below showcases the data flow between the client and the server: