Skip to main content

Citrix environment configuration and development considerations

Citrix solutions development considerations

When developing a robotic solution in a Citrix context, you must adhere to certain configurations and design considerations.

Whether your Citrix solution runs as a published desktop, published application, or in mixed-mode, you should ensure the following:

  • Pega Robot Studio™ must be installed on the Citrix server where the applications to be automated reside for interrogation and testing.
  • Pega Robot Runtime™ must be installed on the Citrix server, though the configuration may vary depending on whether you are developing for a published desktop, published application, or a mixed-mode solution.
  • If you are using Robot Studio v19.1.31.0 or later, Robot Runtime can pass information to Pega.Loader.exe so that the Pega Synchronization Server can match the correct Robot Runtime version to the package that the client loads. To use the Pega Synchronization Server in a Citrix environment, your Citrix server must have connectivity to the Pega Synchronization Server. Alternatively, you can use the Pega Cache Updater utility to add product bundle files to the Citrix server.

In addition to these considerations, there are additional configurations and design considerations specific to each mode.

Published desktop configurations and considerations

When developing a solution for a published desktop, develop the solution in exactly the same way as you would normally. A published desktop is the same construct as if it were the regular desktop for end-users.

Deploy and configure Robot Runtime as part of the published desktop for the end users to start after accessing the published desktop.

Published application and mixed-mode configurations

Before you can develop a solution for a published application or in a mixed-mode configuration, you must ensure that both the Citrix server and the end-users’ desktops are configured as detailed in this section.

As an automation developer, you may not have access to the Citrix server, but you will need to ensure that the Citrix server administrator has defined the necessary properties, otherwise Robot Runtime may not work correctly.

Robot Runtime must be configured as a published application in the Citrix Delivery Group.

Note: If you are using Robot Studio v19.1.31.0 or later, and also using the Pega Synchronization Server or Cache Updater utility, Pega.Loader.exe is used as the published application rather than Robot Runtime.
Screenshot showing the Citrix server configuration

Properties to note and to confirm with your Citrix server administrator:

  • The Name property contains the published application name that will be needed when you test the solution’s connectivity to the Citrix server.
  • The Application Path property defines the location of Robot Runtime on the Citrix server.
  • The Command line arguments property will pass parameters to Robot Runtime at launch, such as the proper machine name starting the runtime and the package location.
    • For XenApp version 5.0 or newer, the command line argument value should be %**. For Presentation Server version 4.5, this value should be %*.

Suppressing deserialization errors

During development, locally running a solution that contains a Citrix context will trigger deserialization errors. To suppress these errors, configuration files on both the client and server machines must be modified.

For details on modifying the configuration files to suppress deserialization errors, review the Configuring Citrix Contexts topic

Installing the virtual channel

For a Citrix client to communicate with the Citrix server through Pega Robot Runtime, you must add the Pega Citrix Virtual Channel driver to the Citrix Independent Computing Architecture (ICA) virtual channel directory. To do so, run the virtual channel setup program provided by Pega.

To install, copy the setup.exe file to each Citrix client. Run the setup.exe program and specify the path to the wfica32.exe program. By default, this path is C:\Program Files\Citrix\ICA Client.

Installing this driver will add the CTXOSP.dll file to the same directory as wfica32.exe.

Mixed-mode design considerations

When building a robotic solution in a mixed-mode environment, there are several design considerations that you must take into account:

  • Events must be placed on an automation in the same context where the event is being fired. For example, if the event that triggers an automation is from a local application, then the automation must also reside in the local context, not the Citrix context. For more details on events in a Citrix automation, review the topic on automation events within a Citrix context.
  • You cannot use complex controls on a Windows form in the solution. Examples of complex controls include data grids, listboxes, listviews, and more.
  • Avoid using an appbar in the Citrix Context or on a Citrix published desktop when the solution runs as the appbar, the appbar cannot be docked to the user’s desktop.
  • Robot Studio does not support integration to a Pega application using Robot Runtime through the local REST service. The Pega RDA Service binds to a single port which is shared for all users on a Citrix server. There is no way for Robot Runtime running in the Citrix context with a Pega application to be serviced.  The solution is to interrogate the Pega application as any web application.
  • All Citrix applications that are part of the solution should run on a single Citrix server.
  • Avoid adding more than one Citrix context to a solution. While you can technically add a maximum of two Citrix contexts to a solution, doing so adds complexity to the solution and impedes performance.
  • The Pega RPA Service should not be installed on the Citrix server.
  • Robot Manager and Package Server cannot be used to download deployment packages on the Citrix server.
  • The best practice is to avoid transferring large amounts of data across the Citrix context.

This Topic is available in the following Module:

If you are having problems with your training, please review the Pega Academy Support FAQs.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega Academy has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice