在Visual Studio 2005时代,Visual Studio的插件提供了一个批处理文件(*.bat)来部署SharePoint工作流;在Visual Studio 2008时代,Visual Studio支持直接部署SharePoint工作流。虽然使用Visual Studio 2008来设计、开发以及部署SharePoint工作流非常方便,但如果想要把开发好的工作流部署到其他服务器,就会发现,Visual Studio 2008并没有将工作流生成为一个WSP文件,也没有提供批处理文件。
本文就来介绍一种在Visual Studio 2008中生成SharePoint工作流WSP文件的方法。虽然这个方法并不是什么新方法,但却知者甚少,所以我还是累述一下吧。
首先需要安装Microsoft Visual Studio Tools for the Office System Power Tools v1.0.0.0,下载地址如下:
然后打开你的用文本编辑器打开你的工作件项目文件(*.csproj),定位到文件底部,在</Project>标记上方添加如下的标记:
保存后用Visual Studio 2008打开工作流项目,生成工作流后,就会在项目文件夹中发现已经生成的WSP文件,此外还包括manifest.xml、package.ddf、setup.inf和setup.rpt文件,十分方便。
而且生成的WSP文件还包含了工作流所引用的资源文件,包括在Feature.xml中使用ElementFile标记引用的InfoPath表单文件。
将以下命令保存到一个批处理文件(*.bat)中,执行该文件就可以将WSP文件部署到SharePoint场中了:
第二步是将该解决方案包部署到Web前端服务器,这一步有两种方法:
第三步是在Web前端服务器中激活刚才部署的解决方案包中的功能,这一步也有两种方法:
卸载SharePoint工作流解决方案的步骤正好和部署相反,需要先停用工作流功能,然后收回解决方案,最后删除解决方案包。
停用工作流功能的方法有两种:
收回解决方案的方法也有两种:
而从SharePoint场中删除WSP文件则需要执行包含以下内容的批处理文件(*.bat):
也许有人会觉得这种方法相对于Visual Studio 2005提供的批处理文件来说,并没有多大改进。的确,这两种方法都需要执行命令,但解决方案包的优势是它会将工作流所需的资源都打包为一个可分发的文件(*.wsp),而使用命令直接针对Feature.xml来安装功能则需要分发多个文件(包括程序集、InfoPath表单、Feature.xml、Workflow.xml等)。
如果你愿意,你完全可以将上述的所有命令组装到一个批处理文件文件中,并添加安装和卸载的开关(-i和-u),这样就可以方便的进行“安装+部署+激活”和“停用+收回+删除”操作了(就像VSeWSS生成的批处理文件那样)。
How Do I: Use VSTO Power Tools SharePoint Workflow Package Generator?