安装和配置 SharePoint Server 的工作流

适用于:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

本文包含为 SharePoint Server 配置 SharePoint 工作流管理器 (SPWFM) 所需的信息和过程。

注意

有两个单独的工作流引擎产品支持 SharePoint 2013 工作流平台:Microsoft 工作流管理器 (“经典WFM”) 和 SharePoint 工作流管理器 (SPWFM) 。 Microsoft 工作流管理器不再可供安装,而 SharePoint 工作流管理器 已发布以替换它。 因此,本文档中概述的说明介绍了如何安装 SharePoint 工作流管理器。

概述

为 SharePoint Server 生成工作流时,存在一个新选项。 This option is called Platform Type. 此图显示了使用 SharePoint Designer 2013 创建新工作流时的“平台类型”选项。

图:SharePoint Server 包括三个工作流平台选项。

Three workflow platforms in SharePoint 2013.

首次安装 SharePoint Server 时,唯一可用的平台是 SharePoint 2010 工作流平台。 SharePoint 2013 工作流平台和 Project Server 平台需要更多步骤。 下表简要介绍这三个工作流平台。

SharePoint Server 中可用的工作流平台类型

平台类型 平台框架 要求
SharePoint 2010 Workflow
Windows Workflow Foundation 3
使用 SharePoint Server 自动安装。
SharePoint 2013 Workflow
Windows Workflow Foundation 4
需要 SharePoint 工作流管理器 或 Microsoft 工作流管理器 和 SharePoint Server。
SharePoint 2013 Workflow - Project Server
Windows Workflow Foundation 4
需要 SharePoint 工作流管理器或 Microsoft 工作流管理器和 Project 服务器。

注意

SharePoint 工作流管理器必须独立于 SharePoint Server 下载和安装。 安装 SharePoint Server 时,它不会自动安装。

SharePoint 工作流管理器的新安装

SharePoint 工作流管理器可以安装在与 SharePoint 相同的服务器上,也可以安装在单独的专用服务器上。 出于性能和可靠性的原因,建议在自己的专用服务器上安装 SharePoint 工作流管理器。

注意

具有奇数主机(例如 1、3 或 5)的场支持 SharePoint 工作流管理器。 不支持包含 2 个或 4 个 SharePoint 工作流管理器主机的场。

先决条件

SharePoint 工作流管理器需要 Web 服务器 (IIS) 的服务器角色。 如果在未安装 IIS 服务器角色的服务器上安装 SharePoint 工作流管理器,工作流管理器配置向导将失败,并显示“无法加载文件或程序集”Microsoft.Web.Administration“等消息。 除了默认随 Web 服务器角色安装的功能外,SharePoint 工作流管理器 还需要以下 Web 服务器功能:

  • Windows 身份验证(在“安全性”下面)
  • 应用程序开发) 下的 .NET 扩展性 4.7 (
  • 应用程序开发) 下 ASP.NET 4.7 (

SharePoint 工作流管理器所需的 Web 服务器功能的屏幕截图。

注意

SharePoint 工作流管理器可能无法正确安装和配置,只能使用 RODC (只读域控制器,) 网络环境中可用。 它需要 RWDC (读/写域控制器) 。 SharePoint 工作流管理器需要 Azure Service Fabric,在运行 SharePoint 工作流管理器安装程序之前,必须安装它。 如果尚未安装 Azure Service Fabric 运行时,请按照以下步骤进行安装:

  1. SharePoint 工作流管理器支持的最低 Azure Service Fabric 运行时版本为 9.1.1583.9590,可以从 Azure Service Fabric 运行时下载。 或者,可以从 此处找到并下载其 Windows Installer 的任何更高版本。

  2. 以提升的管理员身份打开 PowerShell 控制台,并运行以下命令:

    .\MicrosoftServiceFabric.9.1.1583.9590.exe /accepteula

  3. 若要验证是否已安装 Azure Service Fabric,应能够在控制面板的“程序和功能”中找到它。

注意

SharePoint 工作流管理器支持版本 9.1 CU2 (9.1.1583.9590) Azure Service Fabric 及更高版本

如果计算机上已安装Windows Fabric,则必须在安装 Azure Service Fabric 之前将其卸载。

据报道,Azure Service Fabric 可能会生成大量日志,从而减少磁盘空间。 无论 SharePoint 工作流管理器工作负载如何,都可能发生此情况。 可以通过查看目录中 %ProgramData%\Microsoft Service Fabric\Log\Traces 生成的文件来识别此问题。 无法通过 群集配置控制日志大小,只能安装 Azure Service Fabric 运行时。 可能需要手动删除过期的日志,或者例如,通过 Windows 任务计划程序创建定期任务才能执行此操作。

安装 SharePoint 工作流管理器

可以从此处下载 SharePoint 工作流管理器和 SharePoint 工作流管理器 客户端。 系统要求也可以在该页上找到。

在 工作流管理器 场中的所有服务器上安装 SharePoint 工作流管理器 和 SharePoint 工作流管理器 客户端。

在 SharePoint Server 场中的所有服务器上安装 SharePoint 工作流管理器 客户端

注意

尽管支持在运行 SharePoint Server 的服务器上安装 SharePoint 工作流管理器,但出于性能和可靠性考虑,建议在自己的专用服务器上安装 SharePoint 工作流管理器。

配置 SharePoint 工作流管理器场

若要创建 SharePoint 工作流管理器场并将服务器加入服务器场,可以通过工作流管理器配置向导配置 SharePoint 工作流管理器。

登录到 SharePoint 工作流管理器 服务器,单击“工作流管理器配置”,然后单击“使用默认设置配置工作流管理器”或“使用自定义设置配置工作流管理器”,具体取决于要求。 如果要使用不同的端口、自定义证书或自定义数据库名称,则需要使用“使用自定义设置配置工作流管理器”选项。

在此示例中,我们将使用“默认设置”选项。

显示 SharePoint 工作流管理器配置向导中“使用默认设置配置工作流管理器”选项的屏幕截图。

注意

默认情况下,仅为工作流管理站点配置 HTTPS (TLS/SSL) 端口 12290。 如果还希望允许通过未加密的 HTTP 端口 12291 进行通信,则必须选中“允许在此计算机上通过 HTTP 进行工作流管理”检查框。 这是稍后运行 Register-SPWorkflowService cmdlet 时的一个因素。 在工作流向导中提供必要的SQL Server和服务帐户详细信息。

显示 SharePoint 工作流管理器配置向导中的配置选项的屏幕截图。

在提交选项之前,配置向导将提供你的选择摘要。

显示 SharePoint 工作流管理器配置向导的摘要页的屏幕截图。

注意

使用“使用默认设置配置工作流管理器”选项时,会为你选择一些值。 如果它们不适合你的环境,则可能需要重新启动向导,然后选择“使用自定义设置配置工作流管理器”。

配置向导应成功完成。 如果失败,请选择“查看日志”链接,找到问题并更正它,然后再次运行向导。

显示 SharePoint 工作流管理器配置向导成功完成的屏幕截图。

如果要创建多服务器 SharePoint 工作流管理器场,则必须在其他节点上运行工作流配置向导,并选择“加入现有工作流管理器场”选项。

在 SharePoint 场中配置应用程序管理和订阅设置服务

SharePoint 2013 平台工作流在 SharePoint 场中需要应用管理和订阅设置服务才能正常运行。 如果 SharePoint 场中尚未设置,请在 SharePoint 服务器上设置应用管理和订阅设置服务、服务应用程序和服务应用程序代理。

可以使用管理中心创建应用管理服务。

可以使用 PowerShell 创建订阅设置服务应用程序:

$sa = New-SPSubscriptionSettingsServiceApplication -ApplicationPool 'SharePoint Web Services Default' -Name 'Subscriptions Settings Service Application' -DatabaseName 'Subscription'

New-SPSubscriptionSettingsServiceApplicationProxy -ServiceApplication $sa

将 SharePoint 工作流管理器配置为使用 SharePoint Server 场

在将 SharePoint 工作流管理器配置为使用 SharePoint Server 之前,请考虑以下关键因素。

  • SharePoint 工作流管理器 与 SharePoint Server 之间的通信是否使用 HTTPHTTPS

注意

[!注意] 出于安全考虑,我们建议将 HTTPS 用于生产环境。

使用 HTTP 在通信发生的环境中配置 SharePoint 工作流管理器

注意

默认情况下,仅为工作流管理站点配置 HTTPS (TLS/SSL) 端口 12290。 为了配置 HTTP 的使用,在前面的步骤中运行“工作流管理器配置”向导时,应选中“允许通过 HTTP 进行工作流管理”检查框。

  1. 登录到 SharePoint Server 场中的每个服务器。

  2. 在 SharePoint 场中的每台服务器上安装 SharePoint 工作流管理器 客户端

    重要

    在运行 Register-SPWorkflowService cmdlet 之前,必须在 SharePoint 场中的每台服务器上安装 SharePoint 工作流管理器 客户端。

  3. 在一个 SharePoint 服务器上,右键单击 SharePoint 命令行管理程序命令并选择“以管理员身份运行”,以管理员身份打开 SharePoint 命令行管理程序

  4. 运行 Register-SPWorkflowService cmdlet 以将 SharePoint 场与 SharePoint 工作流管理器 场连接。 此 cmdlet 只应运行一次,并且可以从 SharePoint 服务器场中的任何服务器运行。

    注意

    -SPSite 参数的值可以是 SharePoint 场中的任何有效网站集。 通过在 SharePoint 工作流管理器 服务器上运行 PowerShellGet-WFFarm | select endpoints,可以找到 -WorkflowHostUri 参数的正确值。

    示例

    Register-SPWorkflowService -SPSite "http://myserver/mysitecollection" -WorkflowHostUri "http://workflow.example.com:12291" -AllowOAuthHttp
    

在使用 HTTPS 进行通信的环境中配置 SharePoint 工作流管理器

  1. 确定是否需要在 SharePoint 服务器上安装 SharePoint 工作流管理器证书。

    在某些情况下,必须获取并安装 SharePoint 工作流管理器证书。 如果您的安装需要您获取并安装这些证书,则在继续之前,必须完成此步骤。 若要了解您是否需要安装证书并获取相关说明,请参阅 在 SharePoint Server 2013 中安装工作流管理器证书

  2. 登录到 SharePoint Server 场中的每个服务器。

  3. 在 SharePoint 场中的每台服务器上安装 SharePoint 工作流管理器 客户端

    重要

    在运行 Register-SPWorkflowService cmdlet 之前,必须在 SharePoint 场中的每台服务器上安装 SharePoint 工作流管理器 客户端。

  4. Open the SharePoint Management Shell as an administrator. 这是通过右键单击 SharePoint 命令行管理程序 命令并选择“ 以管理员身份运行”来实现的。

  5. 运行 Register-SPWorkflowService cmdlet 以将 SharePoint 场与 SharePoint 工作流管理器 场连接。 此 cmdlet 只应运行一次,并且可以从 SharePoint 服务器场中的任何服务器运行。

    注意

    -SPSite 参数的值可以是 SharePoint 场中的任何有效网站集。 通过在 SharePoint 工作流管理器 服务器上运行 PowerShellGet-WFFarm | select endpoints,可以找到 -WorkflowHostUri 参数的正确值。

    示例

    Register-SPWorkflowService -SPSite "https://myserver/mysitecollection" -WorkflowHostUri "https://workflow.example.com:12290"
    

升级现有 Microsoft 工作流管理器

Microsoft 工作流管理器无法就地升级,SharePoint 工作流管理器不能放在 Microsoft 工作流管理器的顶部。 若要将 Microsoft 工作流管理器 (经典WFM) 更新到 SharePoint 工作流管理器 (SPWFM) ,必须卸载任何以前版本的 工作流管理器、工作流管理器 客户端和服务总线。

注意

可以从任何版本的 Microsoft 工作流管理器 升级到 SharePoint 工作流管理器。 由于要将现有“经典WFM”场升级到 SPWFM,因此将重复使用WFM数据库,并且现有注册和工作流应保持不变。

按照以下步骤卸载 Microsoft 工作流管理器并安装 SharePoint 工作流管理器:

重要

由于升级步骤要求取消加入,然后重新加入现有WFM场,因此重新加入时需要WFM“证书生成密钥”。 如果不确定该密钥是什么,并且未在某个位置记录该密钥,可能需要 先重置证书生成密钥 ,然后再继续操作。 如果没有有效的证书生成密钥,将无法加入现有工作流场。

  1. 运行工作流管理器配置向导。

  2. 选择“离开工作流管理器场”。

  3. 确认后续步骤,直到向导结束。

  4. 在工作流场中的每个 Microsoft 工作流管理器 服务器上重复此步骤。

    注意

    使用 SharePoint 工作流管理器 重新加入场时,需要指定 工作流管理器 和服务总线使用的每个数据库。 例如,工作流管理器场管理数据库和服务总线场管理数据库的SQL Server实例和数据库名称。

  5. 卸载 Microsoft 工作流管理器、工作流管理器 客户端、适用于 Windows Server 的服务总线,以及Windows Fabric(如果已安装)。 可以从控制面板卸载它们。 如果安装了Windows Fabric,请确保在卸载Windows Fabric后安装 Azure Service Fabric。

    重要

    如果在 SharePoint 服务器上安装 SharePoint 工作流管理器,则可能同时安装“Windows Fabric”和“AppFabric 1.1 for Windows Server”。 请确保仅卸载Windows Fabric。 请勿卸载 AppFabric 1.1。 它是一个不同的服务,是 SharePoint 分布式缓存所必需的。

  6. 如果文件夹“%ProgramFiles%\工作流管理器\1.0”“%Program Files%\Service Bus\1.0”已存在,则必须手动删除它们才能成功执行后续步骤。

  7. 重新启动 SharePoint 工作流管理器 服务器。

  8. 如果尚未安装,请使用 上述先决条件部分中 的步骤安装 Azure Service Fabric。

  9. 安装 SharePoint 工作流管理器 和 SharePoint 工作流管理器 客户端。 可以从此处下载 SharePoint 工作流管理器和 SharePoint 工作流管理器 客户端。 系统要求也可以在该页上找到。

  10. 运行工作流管理器配置向导,然后选择“加入现有工作流管理器场”以重新加入上一个场。 使用上一个“经典WFM”场中使用的数据库、服务帐户和证书生成密钥信息。

    注意

    升级时,通常无需删除现有工作流服务应用程序代理并使用 Register-SPWorkflowService cmdlet 重新连接。 如果遇到 SharePoint 工作流管理器和服务总线证书生成密钥无效,可能需要重置它,请参阅重置证书生成密钥

  11. 重新运行工作流管理器配置向导,选择“升级工作流管理器场”,并确认后续步骤,直到结束。

    注意

    此步骤应在 SharePoint 工作流管理器 场中的所有服务器上运行。 无论是否需要升级,“升级工作流管理器场”选项始终显示在工作流管理器配置向导中。 多次运行它,或者当没有挂起的升级时,没有任何危害。

  12. 如果工作流管理器场中有多个服务器,请在所有工作流场服务器上重复上述步骤。

  13. 卸载任何以前的版本后,在 SharePoint Server 场中的每台服务器上安装 SharePoint 工作流管理器 客户端

验证安装

按照以下步骤验证是否已成功安装和配置所需的组件。

验证安装的具体步骤

  1. 将用户添加到 SharePoint 网站,并向用户授予“网站Designer”权限。
  2. 在客户端计算机上安装 SharePoint Designer 2013,并基于 SharePoint 2013 工作流平台创建工作流。 有关详细信息,请参阅通过使用 SharePoint Designer 2013 和 SharePoint 2013 Workflow 平台创建工作流
  3. 从 SharePoint 用户界面运行此工作流。

疑难解答

出于安全原因,安装程序帐户不能用于基于 SharePoint 2013 工作流平台创建工作流。 如果尝试使用 SharePoint Designer 2013 基于 SharePoint 2013 工作流平台创建工作流,则会收到一条警告,指出工作流操作列表不存在,并且工作流未创建。

必须将部署和运行工作流的用户添加到 User Profile Service。 检查管理中心的“用户配置文件服务”应用程序页,确认用于验证工作流安装的用户是否在 User Profile 服务中。

可以使用 IIS 管理器确定 SharePoint Server 和工作流管理器对 HTTP 和 HTTPS 使用哪些端口,如图所示。

图:使用 IIS 管理器查看 SharePoint 工作流管理器

View ports in IIS Manager.

SharePoint 工作流管理器使用 TCP/IP 或命名管道进行通信。 确保在托管 SharePoint 工作流管理器 数据库的 SQL Server 实例上启用相应的通信协议。

SQL Browser Service 必须在承载 工作流管理器 数据库的 SQL Server 实例上运行。

系统帐户不能用于开发工作流。

若要对 SharePoint Server 进行故障排除,请参阅 SharePoint Server 故障排除