订阅

UiPath Installation and Upgrade

UiPath 安装和升级指南

📖 安装注意事项

This article identifies the main affected areas you should be aware of in a new Orchestrator deployment. Some of the items addressed in this article must be taken care of prior to an upgrade/installation. Several of them are validated by the installer or by the Platform Configuration Tool if you choose to use it. We highly recommend that you download and use the Platform Configuration Tool to validate your environment prior to an upgrade.

.NET Core 3.1


目标框架

若要维护凭据存储插件和 NLog 扩展功能,必须将 TargetFramework 从先前的 .NET Framework 4.7.2 升级到受支持的目标框架。凭据存储和 NLog 扩展的目标框架都由 UiPathOrchestrator.msi 安装程序进行检查。
此限制也适用于插件或 NLog 扩展程序可能具有的所有引用。

Supported Target Frameworks

.NET Standard

1.0

1.1

1.2

1.3

1.4

1.5

1.6

.NET Standard

2.0 (recommended)

2.1

.NET Core

3.0

3.1

👍

您可能需要重新编译内部开发的所有凭据存储插件和 NLog 扩展。

您可能需要标识针对指定目标框架的其他 .dll 文件,并将其复制到 Orchestrator 目录中。大多数 NLog 目标都支持指定的目标框架。但是,您必须确保正确复制 .dll。例如,如果使用 NLog.Targets.Splunk ,则需要下载 .nupkg 文件并以 .zip 格式打开,然后导航至文件夹 lib\netstandard2.0 并使用其中的 .dll 文件。

 

凭据存储插件 - CyberArk

在较旧版本的 Orchestrator 中,CyberArk 凭据存储插件使用的库与 .NET Core 不兼容。Orchestrator 现在使用 CyberArk AIM 附带的 CLIPasswordSDK64.exe 工具。

👍

该插件在默认的 CyberArk AIM 安装路径中搜索 CLIPasswordSDK64.exe,即 C:\Program Files (x86)\CyberArk\ApplicationPasswordSdk\CLIPasswordSDK64.exe。如果 CyberArk AIM 未安装在默认路径上,则必须在 UiPath.Orchestrator.dll.config 中添加指向实际路径的配置条目。路径可以安装前在 web.configappSettings 部分,或安装后在 UiPath.Orchestrator.dll.config 中指定。

示例:

<add key="Plugins.SecureStores.CyberArk.CLIPasswordSDKExePath" value="D:\CustomFolder\CLIPasswordSDK64.exe" />

 

代理配置

不再使用 <defaultProxy> 标签在 web.config 中配置代理配置。不再支持的配置示例:

<system.net>  
    <defaultProxy>  
      <proxy usesystemdefault="True" proxyaddress="http://<ip>:<port>" bypassonlocal="True"  />  
    </defaultProxy>  
  </system.net>

在 .NET Core 中,有两种用于指定代理的机制:

使用环境变量。

可以使用以下语法在 web.config 中设置环境变量:<environmentVariable name="[insert_variable_here]" value="[insert_address_here]" />,例如 <environmentVariable name="HTTP_PROXY" value="http://127.0.0.1:8080" />

Variable

Description

HTTP_PROXY

The proxy server used on HTTP requests.

HTTPS_PROXY

The proxy server used on HTTPS requests.

ALL_PROXY

The proxy server used on HTTP and/or HTTPS requests in case HTTP_PROXY or HTTPS_PROXY are not defined.

NO_PROXY

A comma-separated list of host-names that should be excluded from proxying.

示例:

  • 未经身份验证:ALL_PROXY=http://localhost:8888
  • 使用身份验证:ALL_PROXY=http://user:[email protected]:8888

如果未设置环境变量,则使用默认代理系统(IE 设置或 Windows 代理设置)。

在此查看 Microsoft 的官方文档。

 

配置文件


web.config

Orchestrator 的大多数配置设置已从 web.config 移至 UiPath.Orchestrator.dll.config。新文件保留与旧文件 web.config 相同的结构,并且位于同一目录中。请记住,更改 UiPath.Orchestrator.dll.config 文件不会重新启动 IIS。以下部分已移动:

  • 连接字符串
  • 应用程序设置
  • NLog 配置
  • Quartz 配置
  • 加密密钥

web.config 已重新调整用途,即仅包含 IIS 使用的配置。升级后,安装程序将自动将上述部分移至新的配置文件。它将转换 web.config 中的剩余配置,以匹配 Orchestrator 最新版本所需的配置。客户自定义配置将保留,包括禁用的动词、启用/禁用的模块、自定义的重写规则。

Check web.config docs.
Check UiPath.Orchestrator.dll.config docs.

 

IIS 管理器

连接字符串和应用程序设置在 IIS 管理器中不再可见。不支持使用 IIS 管理器编辑 Orchestrator 连接字符串或应用程序设置。

👍

您需要直接编辑配置文件。

 

NLog 目标

对于类型为“数据库”的 NLog 目标,connectionStringName 属性已由 connectionString 替换。其值必须使用以下语法:connectionString="${ui-connection-strings:item=Default}",其中 Default 是您要在 <connectionStrings> 部分中使用的连接字符串的名称。
See docs on Targets of the Orchestrator Execution Logs.

👍

如果您正在使用类型为 Database 的自定义 NLog 目标,则在升级过程中,属性 connectionStringName 将自动更改为 connectionString。如果在安装/升级后手动将目标插入配置文件中,请使用使用正确值的新属性。

 

SignalR 协议


带 WebSocket 的 SignalR

我们已将 SignalR 库更新为较新的版本,该版本与较旧的机器人客户端不兼容。为在有作业可执行时不间断地通知无人值守机器人,我们已实施一种通过长轮询来模拟旧 SignalR 协议的兼容机制。2020.10 之前版本的机器人仅通过长轮询与 Orchestrator 建立连接。

👍

我们建议您将机器人升级至 2020.10 以使用 WebSockets,这特别有助于提高大型机器人部署的成本效益。

 

SignalR 横向扩展粘滞会话

SignalR 横向扩展需要除 WebSocket 以外所有协议的粘滞会话(即 SSE 和长轮询)。
默认情况下,仅默认启用 WebSocket 传输,因为 Orchestrator 会假定客户的负载均衡器未启用粘滞会话。

👍

UiPath.Orchestrator.dll.config 中添加 <add key="Scalability.SignalR.RequireStickySessions" value="true" /> 密钥以启用粘滞会话。如果设为 true,则启用所有传输,并且 Orchestrator 假定负载均衡器已启用粘性会话。在 UiPath.Orchestrator.dll.config 中启用粘滞会话但不在负载均衡器上启用将导致 SignalR 连接失败。

 

SignalR SQL Server 横向扩展

在安装过程中,横向扩展机制从 SQL Server 切换到 Redis。不再支持禁用机器人/活动的 SignalR 身份验证。为此,Scalability.SignalR.AuthenticationEnabled 参数已弃用。

 

等待队列项目活动

如果使用早于 2020.10 的“等待队列项目”活动,则可能会遇到长达 30 秒的延迟情况。

👍

升级到最新的活动版本以避免出现此类问题。

 

NuGet 基础架构


我们将内部 NuGet 订阅源的协议从 v2 更新到了 v3。

传统版本存储库

Legacy 不再是受支持的 NuGet 存储库类型。升级后,所有类型为 Legacy 的存储库都将迁移至 Composite
新包的位置取决于您使用先前的 Orchestrator 版本时在 web.config 中配置 NuGet.Packages.PathNuGet.Activities.Path 参数的方式。

  • 如果您将包存储在默认位置(~/NuGetPackages~/NuGetPackages/Activities),则包的新位置将变为 RootPath=.\Storage
  • 如果您将包存储在自定义位置,则系统在安装过程中会要求您选择新的存储位置。对于静默安装,除非您在升级前已在 web.config 指定参数,否则必须使用 STORAGE_TYPESTORAGE_LOCATION 参数。

v2020.10 + 使用 UiPath.Orchestrator.dll.config 中的 Storage.TypeStorage.Location 参数配置包的位置。升级后,所有与 Legacy 相关的应用程序设置将弃用,并且失效。

  • NuGet.Packages.Path
  • NuGet.Activities.Path
  • Nuget.EnableRedisNodeCoordination
  • Nuget.EnableNugetServerLogging
  • NuGet.EnableFileSystemMonitoring
  • NuGet.Repository.Type

Composite 存储库不支持在专用的包文件夹中使用复制粘贴命令。

 

Swagger 库


我们对描述了 Orchestrator API 的 swagger.json 文件的生成方式进行了重大更改。如果您依赖使用 Swagger 文件中的 API 描述的客户端库生成器(例如:AutoRest、Swagger Codegen),则生成的代码将有很大的不同。

👍

您可能需要更新使用自动生成的客户端的任何其他自定义工具。

 

API Changes


具有表单 POST 参数的 API

无法再使用表单数据对象中的参数发出 POST 请求。

👍

向 Orchestrator 发出 POST 请求的唯一受支持的机制是在请求正文中提供 JSON 格式的请求参数。

大约一年前更新


📖 安装注意事项


建议的编辑仅限用于 API 参考页面

您只能建议对 Markdown 正文内容进行编辑,而不能建议对 API 规范进行编辑。