- 入门指南
- 要求
- 最佳实践
- 安装
- 正在更新
- 身份服务器
- 对启动错误进行故障排除

Orchestrator 安装指南
关于更新和迁移
概述
请记住,这些信息与您要升级到的目标版本有关,与升级前的版本无关。因此,在继续之前,请确保阅读正确的详细信息。
要查看是否可以将较旧版本的 Orchestrator 升级到较新版本,请查看我们的概述指南中的 Orchestrator 升级路径矩阵。
要查看最新的可用版本,请查看发行说明页面。
预安装清单
在继续进行Orchestrator升级/安装之前,请仔细查看以下任务列表:
| 描述 | 详细信息 |
|---|---|
| ✅ 查看系统要求 | 确保满足要安装版本的先决条件,硬件和软件要求。 |
| ✅ 了解新部署引入的更改 | 新的Orchestrator部署带来了您应该注意的更改。在升级/安装之前,必须注意某些事项。一些说明了最大的更改,并提供了有关如何最好地利用新版本的建议。 |
| 运行平台配置工具 | 平台配置工具是一个PowerShell脚本,用于帮助您成功安装/升级Orchestrator。它可以帮助您在升级之前检查环境的完整性和就绪性,并帮助您在安装后执行一些操作。 |
| ✅ 停止 Orchestrator | 升级 Orchestrator 时必须先停止应用程序。运行应用程序时执行任何更新都可能导致错误,而且不受支持。 |
直接更新 Orchestrator
安装工件在您首次购买 Orchestrator 时提供,或者也可能由您的客户成功经理或我们的支持团队提供。有数种方法可以直接更新:
使用 Windows 安装程序
UiPathOrchestrator.msi 执行就地更新,该更新将复制所有设置并为旧版创建备份文件夹。它适用于单节点和多节点架构。如果升级前版本是使用弃用脚本安装,则系统不会复制部分 web.config 设置。不支持 Windows 安装程序的修复功能。
如果您想要更新的 Orchestrator 过去在安装时使用了现在已停用的 UiPathPlatformInstaller.exe,请使用 Windows 安装程序将其更新到该版本。
使用 Azure 脚本
在 Azure 门户中的一个或多个节点上对 Orchestrator 及其组件进行的复杂更新。
更新注意事项
加密方式
在 Orchestrator 更新期间,安装程序无法读取web.config中加密的SecureAppSettings 部分。为了从 Orchestrator 的web.config读取EncryptionKey ,然后将其迁移到身份服务器的appsettings.Production.json中,密钥必须是纯文本。在更新 Orchestrator 之前,您需要手动解密该部分。Orchestrator 更新过程完成后,请记住重新加密web.config中的SecureAppSettings部分。
证书
出于安全原因,对于用于对身份服务器生成的访问令牌进行签名的证书,请确保使用 2048 位公钥。证书的位置必须设置在 appsettings.Production.json 的凭据签名部分中。
数据库
无论选择哪种更新方式,如果指向的数据库都不存在,则系统会在运行更新时自动创建该数据库。如果指向现有数据库,则系统会在同一过程中对其进行更新。Orchestrator SQL 数据库在安装时会自动设置为不区分大小写(“OrchDB”=“orchdb”)。
外部提供程序
执行更新时,如果在 web.config 中启用了任何外部提供程序,系统会提示您需要在以前存在的外部提供程序上执行的手动更改。
用户
升级到最新的 Orchestrator 版本时,所有本地帐户都会自动从 Orchestrator 迁移到 Identity Server,并转换为所需格式。
此更改不会影响您的机器人。
如果您使用的是 2018.4 版本,并且未将 Active Directory 导入的用户帐户转换为目录帐户(或者没有转换所有导入的用户),则未转换的目录帐户必须以交互方式至少登录一次 Orchestrator 才能完成转换。登录身份管理门户或从 UiPath Studio 或 UiPath Assistant 登录并不能完成帐户的转换。
转换完成后,您将无法再使用基本身份验证凭据以相应用户的身份登录。
应用程序池身份
升级到最新版本的 Orchestrator 时,我们强烈建议对 Identity Server 和 Webhook 使用与原始安装过程中用于 Orchestrator 的应用程序池身份类型相同的身份类型。
例如,如果您在 Orchestrator v2020.10 安装期间将应用程序池身份类型设置为自定义帐户,则在升级到 v2021.10 时,请为 Identity Server 和 Webhooks 应用程序选择相同的应用程序池身份类型(即自定义帐户)。否则,对 SQL Server 的访问可能会被阻止。
Azure 密钥保管库
从公共云以外的云访问 Azure 密钥保管库时,必须将环境变量AZURE_AUTHORITY_HOST设置为相应的值(即"AZURE_AUTHORITY_HOST": "https://login.microsoftonline.us/" )。有关值的更多详细信息,请查看 [Microsoft Entra 身份验证和国家云
- Microsoft 身份平台](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#azure-ad-authentication-endpoints)文档。
已知问题
升级到 2023.10 或更高版本时出现数据库超时错误
从 2023.10 之前的版本升级到 2023.10 或更高版本时,Orchestrator 中的组数量超过 100,000 个可能会导致超时错误。
要解决此问题,请直接在数据库中运行以下脚本,然后重试升级:
-- 1. Delete group subscriptions
DECLARE @rowCount BIGINT = 1
DECLARE @batchSize BIGINT = 4000
DECLARE @pivotDate DATETIME = GETUTCDATE()
WHILE (@rowCount > 0)
BEGIN
DECLARE @subscriptionsToDeleteIds TABLE(
[Id] UNIQUEIDENTIFIER NOT NULL
)
INSERT INTO @subscriptionsToDeleteIds
SELECT TOP(@batchSize) [ns].[Id]
FROM [dbo].[NotificationSubscriptions] [ns]
JOIN [dbo].[Users] [u] ON [u].[Id] = [ns].[UserId]
WHERE [u].[Type] = 3 AND -- Group
[u].[CreationTime] <= @pivotDate AND
[u].[IsDeleted] = 0
DELETE FROM [dbo].[NotificationSubscriptions]
WHERE [Id] IN (
SELECT [Id] FROM @subscriptionsToDeleteIds
)
OPTION (MAXDOP 1)
SET @rowCount = @@ROWCOUNT
WAITFOR DELAY '00:00:00.1'
END
-- 2. Create index on UserNotifications
IF NOT EXISTS(SELECT * FROM sys.indexes WHERE OBJECT_ID = OBJECT_ID(N'[dbo].[UserNotifications]') AND NAME = N'IX_UserId_CreationTime')
CREATE NONCLUSTERED INDEX [IX_UserId_CreationTime] ON [dbo].[UserNotifications]
(
[UserId] ASC,
[CreationTime] ASC
) INCLUDE ([TenantNotificationId]) WITH (ONLINE = ON);
-- 1. Delete group subscriptions
DECLARE @rowCount BIGINT = 1
DECLARE @batchSize BIGINT = 4000
DECLARE @pivotDate DATETIME = GETUTCDATE()
WHILE (@rowCount > 0)
BEGIN
DECLARE @subscriptionsToDeleteIds TABLE(
[Id] UNIQUEIDENTIFIER NOT NULL
)
INSERT INTO @subscriptionsToDeleteIds
SELECT TOP(@batchSize) [ns].[Id]
FROM [dbo].[NotificationSubscriptions] [ns]
JOIN [dbo].[Users] [u] ON [u].[Id] = [ns].[UserId]
WHERE [u].[Type] = 3 AND -- Group
[u].[CreationTime] <= @pivotDate AND
[u].[IsDeleted] = 0
DELETE FROM [dbo].[NotificationSubscriptions]
WHERE [Id] IN (
SELECT [Id] FROM @subscriptionsToDeleteIds
)
OPTION (MAXDOP 1)
SET @rowCount = @@ROWCOUNT
WAITFOR DELAY '00:00:00.1'
END
-- 2. Create index on UserNotifications
IF NOT EXISTS(SELECT * FROM sys.indexes WHERE OBJECT_ID = OBJECT_ID(N'[dbo].[UserNotifications]') AND NAME = N'IX_UserId_CreationTime')
CREATE NONCLUSTERED INDEX [IX_UserId_CreationTime] ON [dbo].[UserNotifications]
(
[UserId] ASC,
[CreationTime] ASC
) INCLUDE ([TenantNotificationId]) WITH (ONLINE = ON);
杀毒软件问题
有些防病毒软件可能会阻止数据迁移脚本在升级期间正常运行。
登录尝试问题
将 2019.10 或更旧版本的 Orchestrator 更新后,“配置文件”页面将不会显示在该更新之前进行的登录尝试。
安装后更新许可证
升级或迁移 Orchestrator 后,建议您使用在线或离线激活从“许可证”页面更新许可证信息。有关说明,请参阅激活许可证。
如果要从早于 2019.10 的版本进行升级或迁移则必须更新许可证信息,否则您将无法使用许可证到期后的宽限期,这可能会导致服务中断。
包迁移
在 v2020.10+ 中不再支持Legacy类型的 NuGet 存储库。先前存放在Legacy存储库中的包将迁移到Composite存储库。对于复合存储库,使用UiPath.Orchestrator.dll.config中的Storage.Type和Storage.Location参数配置包位置。升级后,所有与Legacy相关的应用程序设置将弃用,并且失效:
NuGet.Packages.PathNuGet.Activities.PathNuget.EnableRedisNodeCoordinationNuget.EnableNugetServerLoggingNuGet.EnableFileSystemMonitoringNuGet.Repository.Type
新包的位置取决于您使用先前的 Orchestrator 版本时在 web.config 中配置 NuGet.Packages.Path 和 NuGet.Activities.Path 参数的方式。
默认位置
如果您将包存储在默认位置(~/NuGetPackages 和 ~/NuGetPackages/Activities),则包的新位置将变为 RootPath=.\Storage。
| 2020.10 之前版本的密钥默认值 - web.config | 2020.10+ 密钥默认值 - UiPath.Orchestrator.dll.config |
|---|---|
<add key="NuGet.Packages.Path" value="~/NuGetPackages" /> <add key="NuGet.Activities.Path" value="~/NuGetPackages/Activities" /> | <add key="Storage.Type" value="FileSystem" /> <add key="Storage.Location" value="RootPath=.\Storage" /> |
自定义位置
如果您将包存储在自定义位置,则系统在安装过程中会要求您选择新的存储位置。静默安装必需使用 STORAGE_TYPE 和 STORAGE_LOCATION 参数,除非您在安装前已经专门将这些参数添加到 web.config (Storage.Type 和 Storage.Location) 中。
包迁移矩阵
下面的矩阵描述了在升级期间何时请求或忽略 STORAGE_TYPE 和 STORAGE_LOCATION 参数。该矩阵考虑了您要从中升级的版本,以及先前版本和 2020.10 及更高版本中的包位置自定义。
例如,根据此功能组合,矩阵显示在静默模式下请求从版本 2019.4+ 升级的两个参数(标有复选标记)如果包存储在自定义位置,但其新存储位置是默认位置。
| 升级前的版本 | 之前的旧位置 | 新的组合位置 | 在存储窗口中请求的参数 | 静默模式下请求的参数 | 从 CMD 忽略的参数 |
|---|---|---|---|---|---|
| 2019.4+ | 默认 | 默认 | ✅ | ||
| 2019.4+ | 默认 | 自定义 | ✅ | ||
| 2019.4+ | 自定义 | 默认 | ✅ | ✅ | |
| 2019.4+ | 自定义 | 自定义 | ✅ |
迁移错误
如果由于某种原因包迁移失败,系统将为您提供以下选项:
- 重试 - 包迁移重新启动。已迁移的包将跳过。
- 中止 - 重新启动安装。在迁移步骤中,已迁移的包不会跳过,而是会再次迁移。因此,您可能会在不同的容器中找到重复的文件。此情况只会在使用 2019.4 之前的版本迁移时才会发生。
- 继续 - 正在进行迁移。
从 2019.10 升级
作为从 2019.10 升级的一部分进行的迁移有时会导致包名称更改,从而在 Orchestrator 中不可用。 如果发生这种情况,我们建议您手动上传任何受影响的包。