About
A Package combines all parts used in an automation and it can include: Activities, Workflows, Files, Data Sources, and other components needed for running the automation. A project created in Studio is published as a Package to a location/feed from where it is later downloaded by the Robot and used to run an automation.
The following locations/feeds are configured by default in Studio:
- Orchestrator Tenant and Orchestrator Host
- Local
- Official
- Marketplace
Custom feeds can be used as well, but before setting up a custom location to publish a Package, make sure that Robots have access to it.
Important:
For Packages Location, absolute paths need to be used. Relative paths are not supported.
For more information on how feeds work and how to change them, see the Managing Activities Packages document which goes in more details on this subject.
Changing Package Location
The Package Location can be changed via Setup Command Line using the PACKAGES_FOLDER
parameter. This enables you to change the download location of your workflows and their dependencies for Studio and/or Robot. This folder can be user specific or accessible by all users from a machine and can be used either if the Robot is installed in Service-Mode or User-Mode.
For the Service-Mode Robot, packages are concurrently installed on all users.
Note:
For multiple User-Mode Robots installed on a machine, the packages folder cannot be the same (such as
C:\Packages
). This is because the first User-Mode Robot which download and installs a package restricts the.XAML
file access only to that user, making other User-Mode Robots on that machine unable to use the corresponding folder, or package because of insufficient privileges.
When installing the Robot via command line, if you do not provide this parameter the default folder is %userProfile%\.nuget\packages
.
It is possible to use environment variables such as %USERNAME%
or %USERPROFILE%
but needs to be escaped as follows:
When the setup is invoked from Command Prompt - use - UiPathStudio.msi PACKAGES_FOLDER=C:\Some\Path\^%USERNAME^%
.
Batch scripts - use %
- UiPathStudio.msi PACKAGES_FOLDER=C:\Some\Path\^%USERNAME^%
.
PowerShell console or scripts - no escaping is needed.
If your user is an Active Directory domain account, it is recommended that you specify the domain name in the folder structure too, such as C:\packages\^%UserDomain^%.^%Username^%
.
Depending on the architecture used by your company, there can be some limitations. Below you can find the most frequent use cases:
Service Mode Deployment with Secure XAML enabled:
Local Path:
-
When using a High Density environment, the path must resolve differently for different users. In this situation, the path must contain the
%USER%
,%USERPROFILE%
format or other user-specific path. -
When High Density there is not used, the user profile does not have to be specified in the path.
Network Path:
- When the Robot is deployed in Service Mode and Secure XAML is used, Network Paths are not supported.
Service Mode Deployment with Secure XAML disabled:
Local Path
- When the Robot is deployed in Service Mode and Secure XAML is not used, there are no restrictions when using local paths.
Network Path:
- Only non-mapped paths are supported, e.g.
\\server\Packages
. Mapped network paths such asZ:\Packages
are not supported. The reasoning consists in how the mappings are being resolved per user. In this situation, the owner of the installed files will be the computer account.
User Mode
- No restrictions on the Local or Network Path format, as the Robot uses the Attended User profile to resolve the path.
Warning:
Using a custom installation path might create a conflict if multiple jobs run the same project with the same installed path simultaneously and cause a race condition when writing and reading information on those files.
Updated about a year ago