我们通常使用Visual Studio 2010来快速开发和部署我们的Sharepoint Solution.但有时我们不得不遇到要把我们开发的Solution Packages部署到其它物理位置(生产机),而不是我们开发环境所指向的服务器(测试机)。以前我们使用Stsadm工具来完成此工作,但现在我们更推荐使用PowerShell来操作。
???? 下面我们分别描述此工作涉及到的基本步骤:
一、添加Solution?到Sharepoint Farm中
通过我们要先将Visual Studio中的的Solution打包,打成的包可以到Solution的Bin\Debug目录下去找。把此目录下的Solution Package拷贝到需要部署的服务器上的指定目录下eg:? D:\Sp2010\DeploySolution\MySharepointProject.wsp
?? 如果用以前的Stsadm完成添加Solution工作则是?
?? 如果要使用PowerShell,则只需要从你的目标服务器桌面的的Start菜单中找到
?
??? 系统会自动加载Microsoft.SharePoint.PowerShell,我们便可以直接在其Command窗口中执行我们将要执行的PowerShell命令.如果对某个PowerShell命令(如Add-SPSolution)有使用上的问题,可在其Command窗口中使用Get-Help? Add-SPSolution 来取得此命令的相关帮助。
?? 此处,我们用PowerShell命令来完成添加Solution的工作:
?? 如果你是开发的Sandboxed solution,那么你需要使用Add-SPUserSolution命令来执行上面的操作。此命令需要参数–literalpath,此参数提指向Solution的全路径,
二、部署Solution到指定的Web Application上
? 接下来我们要部署Solution到我们指定的Web Application(eg: http://myserver-sp1:2010/)上
? 如果用以前的Stsadm完成部署Solution工作则是
? 如果是使用PowerShell命令,则如下
Install-SPSolution?–Identity?MySharepointProject.wsp?–WebApplication?http://myserver-sp1:2010/??-GACDeployment? 如果部署的是 Sandboxed solution,则使用Install-SPUserSolution命令。
??? –GACDeployment 参数也可换成–CASPolicies,二者区别是
???????? ?GACDeployment指定可以为新 SharePoint 解决方案部署全局程序集缓存 (GAC)。。
?????????? CASPolicies指定可以为新 SharePoint 解决方案部署代码访问安全 (CAS) 策略。
???? - WebApplication参数也可换成- AllWebApplications,二者区别是:
???????? WebApplication: 为指定 SharePoint Web 应用程序部署 SharePoint 解决方案。该类型必须是格式为 12345678-90ab-cdef-1234-567890bcdefgh 的有效 GUID;
??????????????????????????????? SharePoint Web 应用程序的有效名称(例如,MyOfficeApp1);或有效 SPWebApplication 对象的实例。
?????????AllWebApplications: 指定为服务器场中的所有 SharePoint Web 应用程序部署新的 SharePoint 解决方案。
? 如果你需要强制部署此Solution,你可以使用-Force参数。
? 通过上面两个步骤,你就完成了把指定的Sharepoint Solution Package添加和部署到指定的Sharepoint Farm和Web Application中。为使此文更完成,我们继续讨论我们可能要做的其它相关工作。
三、升级部署Solution.
我们可能要通过升级方式来部署我们已经在前面部署好的Solution,使用此方式前,我们首先需要把新版本的Solution拷贝到我们指定的目录下eg: D:\Sp2010\DeploySolution\MySharepointProject.wsp
?? 如果是使用Stsadm命令:
? 如果是使用PowerShell命令:
Update-SPSolution?–Identity?MySharepointProject.wsp?–LiteralPath?D:\Sp2010\DeploySolution\MySharepointProject.wsp??–GACDeployment四、回收已经部署的Solution
? 前面,我们已经完成了Instll, Deploy, Upgrade操作,接下来我们要实现Uninstall操作,此操作实现把Solution从指定的(或全部)WebApplication中回收回来。Solution仍然存在于Farm中,只是不再分配给WebApplication使用。
?? 使用PowerShell命令:
我们也可使用–AllWebApplications参数来一次性从此Sharepoint Farm中的所有部署此Solution的Web Application中回收Solution.
执行此命令时,系统会提示: . “Are you sure?” ,你只需要确定即可执行操作。
五、移除Solution
? 这是最后一步,执行此步我们将从Sharepoint Farm中移除我们安装好的Solution.
? 使用PowerShell命令:
? 上面的第四、五步如果用Stsadm来完成,则通常我们可以建立一个批处理文件eg: DeleteSolution.bat
代码内容如下(里面的内容要根据自身情况进行修改):
……