在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文件的方法。虽然这个方法并不是什么新方法,但却知者甚少,所以我还是累述一下吧。

创建SharePoint工作流解决方案包

首先需要安装Microsoft Visual Studio Tools for the Office System Power Tools v1.0.0.0,下载地址如下:

http://www.microsoft.com/downloads/details.aspx?FamilyID=46B6BF86-E35D-4870-B214-4D7B72B02BF9&displaylang=en

然后打开你的用文本编辑器打开你的工作件项目文件(*.csproj),定位到文件底部,在</Project>标记上方添加如下的标记:

<Target Name="AfterBuild">
    <Exec Command="&quot;C:\Program Files\Microsoft VSTO Power Tools 1.0\Workflow Package Generator\WorkflowPackageGen.exe&quot; /featureManifest:feature.xml" ContinueOnError="true">
    </Exec>
</Target>

保存后用Visual Studio 2008打开工作流项目,生成工作流后,就会在项目文件夹中发现已经生成的WSP文件,此外还包括manifest.xml、package.ddf、setup.inf和setup.rpt文件,十分方便。

而且生成的WSP文件还包含了工作流所引用的资源文件,包括在Feature.xml中使用ElementFile标记引用的InfoPath表单文件。

部署SharePoint工作流解决方案包

将以下命令保存到一个批处理文件(*.bat)中,执行该文件就可以将WSP文件部署到SharePoint场中了:

@SET STSADM="c:\program files\common files\microsoft shared\web server extensions\12\bin\stsadm.exe"

%STSADM% -o addsolution -filename WSP文件路径

第二步是将该解决方案包部署到Web前端服务器,这一步有两种方法:

  • 在SharePoint管理中心中,转到“操作”>“解决方案管理”,点击刚才部署的解决方案包,点击“部署解决方案”。
  • 将以下命令保存到一个批处理文件(*.bat)中,执行该文件就可以将WSP文件部署到SharePoint Web前端服务器了:
    @SET STSADM="c:\program files\common files\microsoft shared\web server extensions\12\bin\stsadm.exe"

    %STSADM% -o deploysolution -name WSP文件路径 -immediate -allowGacDeployment
    %STSADM% -o execadmsvcjobs

第三步是在Web前端服务器中激活刚才部署的解决方案包中的功能,这一步也有两种方法:

  • 在SharePoint Web前端服务器中,转到“网站设置”>“网站集功能”,找到刚才部署的工作流功能,点击“激活”。
  • 将以下命令保存到一个批处理文件(*.bat)中,执行该文件就可以激活该工作流功能了:
    @SET STSADM="c:\program files\common files\microsoft shared\web server extensions\12\bin\stsadm.exe"

    %STSADM% -o activatefeature -filename "功能目录\feature.xml" –url "http://网站URL"

卸载SharePoint工作流解决方案包

卸载SharePoint工作流解决方案的步骤正好和部署相反,需要先停用工作流功能,然后收回解决方案,最后删除解决方案包。

停用工作流功能的方法有两种:

  • 在SharePoint Web前端服务器中,转到“网站设置”>“网站集功能”,找到刚才部署的工作流功能,点击“停用”。
  • 将以下命令保存到一个批处理文件(*.bat)中,执行该文件就可以激活该工作流功能了:
    @SET STSADM="c:\program files\common files\microsoft shared\web server extensions\12\bin\stsadm.exe"

    %STSADM% -o deactivatefeature -filename "功能目录\feature.xml" -url "http://网站URL "

收回解决方案的方法也有两种:

  • 在SharePoint管理中心中,转到“操作”>“解决方案管理”,点击刚才部署的解决方案包,点击“收回解决方案”。
  • 将以下命令保存到一个批处理文件(*.bat)中,执行该文件就可以将WSP文件部署到SharePoint Web前端服务器了:
    @SET STSADM="c:\program files\common files\microsoft shared\web server extensions\12\bin\stsadm.exe"

    %STSADM% -o retractsolution -name WSP文件名 -immediate
    %STSADM% -o execadmsvcjobs

而从SharePoint场中删除WSP文件则需要执行包含以下内容的批处理文件(*.bat):

@SET STSADM="c:\program files\common files\microsoft shared\web server extensions\12\bin\stsadm.exe"

%STSADM% -o deletesolution -filename WSP文件名

总结

也许有人会觉得这种方法相对于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?

使用 SharePoint 2007 部署解决方案

创建、部署和卸载SharePoint工作流解决方案包(WSP)相关推荐

  1. SharePoint 工作流解决方案(一):顺序工作流和状态机工作流

    SharePoint 的工作流是基于 Workflow Foundation 的,我们就先谈谈 WF,只有对 WF 有正确的认识,才能找到 SharePoint 工作流的解决方案. Workflow ...

  2. SharePoint工作流解决方案QuickFlow系列(2)--Task

    任务是工作流的核心,一个工作流系统如何方便的表达任务分发的逻辑是衡量这个工作流系统可用性的重要标准之一. SharePoint默认提供了CreateTask , OnTaskChanged,Compl ...

  3. SharePoint 状态机工作流解决方案(一):为什么要用状态机

    以前一直是作 Windows Workflow Foundation 的工作流平台,对 WF 比较熟悉,开发的工作流平台满足了公司实施的各种项目的工作流应用的需求. 最近作了一个 SharePoint ...

  4. ASP.NET XML Web 服务的工作流解决方案

    XML Web 服务通过创建组成终端对终端工作流解决方案的应用程序的方式而启用了一个强大的机制.对于在需要长期运行的情节(如那些在业务对业务的事务处理中发现的)之中,这样的解决方案是比较适宜的. Bi ...

  5. 转载 SharePoint开发部署WSP解决方案包

    转载原出处: http://642197992.blog.51cto.com/319331/1582731 注:本文所讲内容以SharePoint2013版本为例,开发工具以VS2013为基础.历史版 ...

  6. SharePoint开发部署WSP解决方案包

    注:本文所讲内容以SharePoint2013版本为例,开发工具以VS2013为基础.历史版本也可以参考本文. WSP:SharePoint Solution Package 解决方案包. 一.概念和 ...

  7. 在SharePoint中部署.wsp解决方案包

    在SharePoint中部署.wsp解决方案包 来自:http://blog.163.com/ningbao911@126/blog/static/37430538201010825338101/ 自 ...

  8. Share Point开发部署WSP解决方案包

    一.概念和工具 我们先引出WSP的由来.要想深入了解WSP,要先从SharePoint开发说起.SharePoint可开发的内容比较杂,最新版本的VS2013中已经包含了Sharepoint解决方案的 ...

  9. 一步一步部署微软工作流解决方案(MWMS)到生产环境

    我向微软申请了MWMS,可拿到CD时解压不了,连DEMO环境都部署不了,要微软换吧,先叫我退回CD再寄,晕了... 于是我从网上下了原码,心想我用源码来搞吧,不要你的DEMO了,想从网上找相关的部署- ...

最新文章

  1. Mac下使用Homebrew 安装MySQL
  2. 关于后缀自动机的总结
  3. CentOS-6.3安装配置SVN
  4. java托盘图标变白在linux,升级Ubuntu后系统托盘图标消失
  5. springboot 请求路径有后缀_SpringBoot中配置Web静态资源路径的方法
  6. oracle字段id加1,oracle 字段ID自动增1
  7. 《Excel数据可视化:一样的数据不一样的图表》——第 2 章 数理统计中的常见统计量 2.1 比平均值更稳定的中位数和众数...
  8. 离线安装Ubuntu16.04 NVIDIA1060显卡驱动 CUDA9.0 CUDNN7.0 anaconda TensorFlow-GPU pycharm opencv-python opencv
  9. 一款java游戏收齐绿宝石哈,神奇宝贝绿宝石游戏
  10. 如何解决vue项目本地ip地址无法访问项目问题?【亲测有效】
  11. 电大计算机绘图本任务检测,(更新版)国家开放大学电大《计算机绘图》网考形考作业试题及答案-20210724215340.pdf-原创力文档...
  12. python大数据工程师需要掌握哪些_大数据工程师 python
  13. gawk创建标题和脚本_使用此Gawk脚本为社交媒体帖子创建精美的文本
  14. Android.bp 语法和使用
  15. 知识图谱技术与应用-知识表示
  16. three.js之高级几何体-使用二元操作组合网格(vue中使用three.js38)
  17. 【人脸交换技术】:探索最高效的面部转换算法
  18. ROOT后RE管理器上无法更改权限,因为文件系统只读
  19. 【图像重建】基于matlab布雷格曼迭代算法集合ART算法CT图像重建【含Matlab源码 1905期】
  20. 解决饿了么ui再次点击弹出框红检验文字还出现问题

热门文章

  1. linux 设置服务自启动
  2. 使用selenium控制滚动条(非整屏body)
  3. 黄聪:CodeSmith和PowerDesigner的使用安装和数据库创建(原创系列教程)
  4. 外挂安装eclipse插件
  5. [原]一些KVM测试过程中的命令笔记(2)分配实例
  6. [导入]c#中的关于string的转换的问题
  7. 简述单机,集群,分布式架构区别及联系
  8. 函数调用基础概念原理
  9. uniapp底部弹出框效果
  10. php 单例模式原理,PHP单例模式demo详解