在 SharePoint 2010 中安装和部署场解决方案
本主题概述服务器场解决方案的安装。
上次修改时间: 2011年8月3日
适用范围: SharePoint Foundation 2010
本文内容
安装场解决方案的主要步骤
场解决方案存储区
部署步骤的详细信息
取消部署作业
安装故障
Microsoft SharePoint Foundation 中的场解决方案安装是一个体系,使开发人员能够打包自定义服务器场解决方案,并使管理员能够以直接、安全和一致的方式部署这些服务器场解决方案。具体而言,安装是指将解决方案包(.wsp 文件)上载到前端 Web 服务器、解压缩该包并部署内容的过程。
可通过管理中心应用程序或 SharePoint Management Shell 完成安装。有关如何执行这些任务的信息,请参阅 Technet。
可通过使用存储在 SPFarm.Solutions 属性中的集合的 Add 方法,然后调用 SPSolution.Deploy 方法,以编程方式安装服务器场解决方案。
安装场解决方案的主要步骤
服务器场解决方案的安装主要包含两个或三个步骤:
添加:服务器场管理员将解决方案包添加到服务器场的解决方案存储区(它位于服务器场的配置数据库中)。可使用 SharePoint Management Shell(或使用对象模型)执行此操作。无法在管理中心内完成此操作。
部署:解压缩解决方案包并将其元素复制到相应位置。
另外,此步骤需要由服务器场管理员通过管理中心、SharePoint Management Shell 或对象模型来完成。有关如何部署元素的一些示例:将用户控件文件 (.ascx) 复制到 %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\ControlTemplates 或其子文件夹,并将程序集部署到全局程序集缓存或 Web 应用程序的 \bin 文件夹。如果服务器场解决方案中包含功能,则会在此步骤中将功能复制到 %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\FEATURES 的子文件夹,并根据功能的范围在服务器场的功能库、Web 应用程序、网站集或网站中安装功能。
在将某个解决方案添加到解决方案存储区后,管理员无需立即部署该解决方案。可将该解决方案以未部署状态无限期地存储。
功能激活:必须先激活功能,然后才能使用这些功能,这样便使激活成为了包含功能的解决方案的安装过程中的第三个步骤。功能可包含内容类型、控件、自定义操作、自定义字段、文件、工作流、列表实例、列表模板、事件接收器和文档转换器;不过在某些范围内无法包含其中某些功能。
备注
SharePoint Foundation 在服务器场解决方案的安装和卸载方面的术语不一致。添加、部署 和激活 这三个术语最常用于指安装的三个步骤;但根据用来执行步骤的工具不同,您会看到各种术语。例如,第二个步骤在管理中心内称作部署,而在 SharePoint Management Shell 中却称作安装。有关反转这些步骤的术语也存在相似的不一致性;但通常,反转第二个步骤称作收回(而在 SharePoint Management Shell 中称作卸载),而反转第一个步骤称作移除。第三个步骤(仅适用于功能)始终称作激活,而其反转操作始终称作停用。
场解决方案存储区
服务器场解决方案存储区是存放解决方案包的 SharePoint Foundation 配置数据库中的一个表。
管理员可通过以下两种方式之一,将服务器场解决方案添加到服务器场解决方案存储区:
命令行:管理员可使用 SharePoint Management Shell 在服务器场解决方案存储区中添加和移除解决方案文件。有关详细信息,请参阅功能和解决方案 cmdlet (SharePoint Server 2010)。
对象模型:当您将服务器场解决方案添加到存储区时,将对照 .xsd 文件验证解决方案文件的内容,以验证其中包含的文件是否遵循 SharePoint Foundation 架构。如果验证失败,则将返回一条错误消息。如果验证成功,则将继续添加服务器场解决方案。
备注
可以使用 DeployLocal 属性仅在多服务器场中的一台服务器上部署解决方案。只应将此操作作为一个临时的故障排除步骤执行。在所有其他时间,应对前端 Web 服务器进行相同的配置。
部署步骤的详细信息
服务器场解决方案的部署步骤将创建一个计时器作业。此计时器作业由服务器场中的每台 Web 服务器上的计时器服务使用。此计时器作业还使用 SharePoint Foundation 管理 Web 服务来访问相应权限以将解决方案文件部署到每台计算机,因此所有服务器上必须同时运行这两项服务,部署才能成功。
首先,分析包清单以查找程序集、应用程序页、JavaScript 以及其他不属于功能的文件。将这些项复制到清单中指定的位置。将功能中包含的所有文件复制到 Feature 目录(%ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\FEATURES 的子目录)。在将解决方案文件复制到目标计算机后,将为所有前端 Web 服务器安排配置重置;之后,重置过程将部署文件并重新启动 Microsoft Internet Information Services (IIS)。服务器场管理员可指定执行此操作的时间。
最后,注册服务器场解决方案功能,并将架构和定义文件提交到配置存储区。
服务器场管理员可选择仅在服务器场中的某些 Web 应用程序上部署解决方案。
取消部署作业
如果部署步骤处于其初始设置状态且部署计时器作业尚未开始在任何部署目标上运行,则可取消部署作业。在此情况下,可移除计时器作业。
但是,部署计时器作业开始在任何目标计算机上运行之后,则无法再取消该部署计时器作业。
安装故障
在安装到前端 Web 服务器的过程中,可能会出现以下故障:
如果在前端 Web 服务器上未激活定时服务,则部署作业会保持停止状态。在用户界面的待定作业页上,该作业显示为待定而不是正在处理。管理员要么必须修复定时服务,要么取消部署作业。
如果未在特定计算机上激活 SharePoint Foundation 管理服务,则会在 SPRunningJob 对象中设置错误代码,将该阶段标记为已失败,并阻止任何进一步的操作。失败的部署将转换为管理警报,以通知管理员该作业因未运行的 SharePoint Foundation 管理 Web 服务而失败。
如果在任何特定服务器上解压缩解决方案包 (.wsp) 失败,则该阶段将标记为已失败,且处理停止。在管理中心的"解决方案管理"页中,解决方案的"状态"字段中将以红色显示"错误"。
如果未能复制一个或多个文件(例如,某个现有文件标记为只读),则该阶段将标记为已失败,且处理停止。
如果部署阶段代码导致异常,则会创建管理警报,异常和部署会停止。将移除基础作业定义。
如果出现外部故障(例如停电),则最终部署将停止,但以后可重新运行。