我向微软申请了MWMS,可拿到CD时解压不了,连DEMO环境都部署不了,要微软换吧,先叫我退回CD再寄,晕了...

于是我从网上下了原码,心想我用源码来搞吧,不要你的DEMO了,想从网上找相关的部署--没有,只好自己开始了...................

一准备

先把网上下载源码,安装好VS2008,INFOPATH,SHAREPOINT DESGIGNER 2007当然还有MOSS 2007环境.

二安装MWMSWORKFLOW数据库

先把网上的源码解压,里面有个文件 <<微软工作流解决方案技术手册.docx>> 在最后有关数据库的SQL,COPY下来.

  1. USE [MWMSWorkflow]
  2. GO
  3. /****** 对象:  Table [dbo].[ApprovalLog]    脚本日期: 03/24/2008 02:57:56 ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. CREATE TABLE [dbo].[ApprovalLog](
  9. [ID] [int] IDENTITY(1,1) NOT NULL,
  10. [WorkflowTemplateID] [int] NOT NULL,
  11. [ListID] [uniqueidentifier] NOT NULL,
  12. [ItemID] [int] NOT NULL,
  13. [WorkflowID] [uniqueidentifier] NOT NULL,
  14. [CurrentLevel] [int] NOT NULL CONSTRAINT [DF_ApprovalLog_CurrentLevel]  DEFAULT ((0)),
  15. [ApprovalFileName] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
  16. [ApplicantID] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
  17. [ApplicantDisplayName] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
  18. [StartDate] [datetime] NULL,
  19. [EndDate] [datetime] NULL,
  20. [Result] [int] NOT NULL,
  21. [Detail] [text] COLLATE Chinese_PRC_CI_AS NULL
  22. ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
  23. GO
  24. /****** 对象:  Table [dbo].[MailTemplet]    脚本日期: 03/24/2008 02:57:56 ******/
  25. SET ANSI_NULLS ON
  26. GO
  27. SET QUOTED_IDENTIFIER ON
  28. GO
  29. CREATE TABLE [dbo].[MailTemplet](
  30. [MailTempletID] [int] IDENTITY(1,1) NOT NULL,
  31. [MailTempletName] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
  32. [MailTo] [text] COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT [DF_MailTemplet_MailTo]  DEFAULT (''),
  33. [MailFrom] [text] COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT [DF_MailTemplet_MailFrom]  DEFAULT (''),
  34. [MailCC] [text] COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT [DF_MailTemplet_MailCC]  DEFAULT (''),
  35. [MailSubject] [text] COLLATE Chinese_PRC_CI_AS NOT NULL,
  36. [MailBody] [text] COLLATE Chinese_PRC_CI_AS NOT NULL
  37. ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
  38. GO
  39. /****** 对象:  Table [dbo].[ProxyList]    脚本日期: 03/24/2008 02:57:56 ******/
  40. SET ANSI_NULLS ON
  41. GO
  42. SET QUOTED_IDENTIFIER ON
  43. GO
  44. CREATE TABLE [dbo].[ProxyList](
  45. [ID] [int] IDENTITY(1,1) NOT NULL,
  46. [PersonDisplayName] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
  47. [ProxyDisplayName] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
  48. [UseProxyFlag] [int] NOT NULL CONSTRAINT [DF_ProxyList_UserProxyFlag]  DEFAULT ((0))
  49. ) ON [PRIMARY]
  50. GO
  51. /****** 对象:  Table [dbo].[WorkflowHistoryLog]    脚本日期: 03/24/2008 02:57:56 ******/
  52. SET ANSI_NULLS ON
  53. GO
  54. SET QUOTED_IDENTIFIER ON
  55. GO
  56. SET ANSI_PADDING ON
  57. GO
  58. CREATE TABLE [dbo].[WorkflowHistoryLog](
  59. [ID] [int] IDENTITY(1,1) NOT NULL,
  60. [ListID] [uniqueidentifier] NOT NULL,
  61. [WorkflowID] [uniqueidentifier] NOT NULL,
  62. [ItemID] [int] NOT NULL,
  63. [TaskID] [int] NOT NULL,
  64. [CurrentLevel] [int] NOT NULL CONSTRAINT [DF_WorkflowHistoryLog_CurrentLevel]  DEFAULT ((0)),
  65. [ActionXml] [char](20) COLLATE Chinese_PRC_CI_AS NOT NULL CONSTRAINT [DF_WorkflowHistoryLog_ActionXml]  DEFAULT (''),
  66. [TaskName] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,
  67. [Creator] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
  68. [CreatorDisplayName] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
  69. [AssignedTo] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
  70. [AssingedToDisplayName] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
  71. [StartDate] [datetime] NOT NULL,
  72. [EndDate] [datetime] NULL,
  73. [DueTime] [datetime] NULL,
  74. [Status] [nchar](10) COLLATE Chinese_PRC_CI_AS NULL,
  75. [PercentComplete] [int] NOT NULL CONSTRAINT [DF_TaskLog_PercentComplete]  DEFAULT ((0)),
  76. [Result] [int] NOT NULL,
  77. [Priority] [int] NOT NULL CONSTRAINT [DF_TaskLog_Priority]  DEFAULT ((2)),
  78. [Detail] [text] COLLATE Chinese_PRC_CI_AS NULL,
  79. [ResultOut] [text] COLLATE Chinese_PRC_CI_AS NULL,
  80. [CommitText] [text] COLLATE Chinese_PRC_CI_AS NULL
  81. ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
  82. GO
  83. SET ANSI_PADDING OFF
  84. GO
  85. /****** 对象:  Table [dbo].[WorkFlowTemplets]    脚本日期: 03/24/2008 02:57:56 ******/
  86. SET ANSI_NULLS ON
  87. GO
  88. SET QUOTED_IDENTIFIER ON
  89. GO
  90. CREATE TABLE [dbo].[WorkFlowTemplets](
  91. [WorkflowTempletID] [int] IDENTITY(1,1) NOT NULL,
  92. [WorkflowTempletName] [nvarchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL,
  93. [WorkflowTempletXML] [text] COLLATE Chinese_PRC_CI_AS NOT NULL CONSTRAINT [DF_WorkFlowConfigure_WorkflowConfigXML]  DEFAULT (''),
  94. [CreateBy] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
  95. [Shared] [int] NULL CONSTRAINT [DF_WorkFlowTemplets_Shared]  DEFAULT ((0))
  96. ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

复制代码

在SQL 2005中创建名为MwmsWorkFlow的数据库,然后把COPY的SQL语句在查询中执行,生成相关的表.

approvalog(审批日志
  MAILTEMPLET(邮件模板)
  ProxyList(代理人日志)
  WorkFlowHistorylog(工作流日志)
  WorkFlowTemplets(工作流模板)

三  开始做MWMS的管理网站.
  1 先把源码中的CODE\LAYOUTS中的,MWMSFORMSERVER.ASPX,WRKTASKIP.ASPX两个文件COPY到您的网站集中的\LAYOUTS中去吧
  2 在你的网站集中用SHAREPOINT DESGIGNER 2007创建一个网站名为MWMS.
  3 打开CODES\MWMS,打开MWMS.SLN方案
    3.1 在VS 2008命令中用 SN -K 生成一个mwms.snk
    3.2 并且放入到此方案下签入
    这里是为了生成PublicKeyToken
    3.3 打开AREDIT.ASPX.CS 找到Server.MapPath(""),改成Server.MapPath("/")
    这里我卡了很久,原因是后面的extract.exe不知道放在哪,本来Server.MapPath("")是放在当前网的当前目录下,可我把这个文件COPY到到处都是,可执行
  AREDIT.ASPX就是出错,没办法改到根目录下吧.
    3.4 重新BUILD方案,生成MWMS.DLL
  4 在应用程序目录下更改(如我的是(c:\Inetpub\wwwroot\wss\VirtualDirectories\80):WEB.CONFIG
    4.1加入<SafeControl Assembly="MWMS, Version=1.0.0.0, Culture=neutral, PublicKeyToken=46334fc4408228b2" Namespace="MWMS" TypeName="*" Safe="True" />
    PUBLICKEYTOKEN改为在第3步你所生成的
    4.2 找到<PageParserPaths>,在中间加入
         <PageParserPath VirtualPath="/*" CompilationMode="Always" AllowServerSideScript="true" IncludeSubFolders="true" />
   
    4.3 COPY MWMS.DLL到你的网站BIN目录下吧.
  5 修改BACONFIG.XML
    这里我又卡了,原因这个文件是跟MWMS.WORKFLOW一起安装的,可这个文件在在执行时是生成到WINDOWS\TEMP目录下
    如果你不能连接到数据库,就把这个文件修改后COPY到服务器WINDOWS\TEMP目录下
    <MWMS>
        <DBConnectionString>Data Source=数据库服务器名;Initial Catalog=MWMSWorkflow;Integrated Security=SSPI;</DBConnectionString>
        <SharepointDBConnLib>你网站MWMS</SharepointDBConnLib>
        <SiteUrl>你的网站集</SiteUrl>
    </MWMS>
  6 建立MWMS管理
   6.1 SHAREPOINT DESGIGNER 2007打开您的MWMS
    把下面的文件全部放到MWMS网站下(这些ASPX是管理MWMS的,上传前,请把这些文件中的AutoEventWireup="true"
    ValidateRequest="false" 全部删除)
ANREdit.aspx
AREdit.aspx
BackEdit.aspx
BackEdit.aspx
BRFEdit.aspx
BRTEdit.aspx
ConfigWorkflow.aspx
MTEdit.aspx
MTManagement.aspx
openUrnSel.aspx
ShowMonitor.aspx
WFDesigner.aspx
WFManagement.aspx
WFMonitor.aspx
  6.2 组织这些管理MWMS文件,如何做?我暂时只是做个简单链结,能执行就OK了.
  6.3把EXTRACT.EXT COPY到你的根目录下吧,这是个把INFOPATH的XSN解成XML的文件,没有这个,就无法执行 AREDIT.ASPX的流程条件.
  6.4 把JS,IMAGES下的文件全部上传到你的MWMS网站.有8个JS文件,别搞少了.
   7.建立一个INFOPATH表单库和外部数据库链接库
    7.1首先你得在MWMS网站上建立一个INFOPATH表单库
    7.2在MWMS网站上建立一个外部数据库链接库
     这个是为了以后部署MWMS.WORKFLOW,启动流程链接到MWMSWORKFLOW数据库读流程数据

8 开始建立流程模板
  8.1.在MWMS上执行MTManagement.aspx,新邮件模板

8.2 在MWMS上执行WFManagement.aspx,新建流程模板

到这里基本上所有管理MWMS的基本上就这样了.如果你不能建立流程模板,根据错误找相关原因吧.

四 流程MWMS.WORKFLOW的部署
  1修改STARTWF1.XSN
   1.1找到源码下的codes\ProgramSolution\MWMS.Workflow的startwf1.xsn用INFOPATH打开设计它
   1.2 按工具下的数据链接 ,删除原的有WORKFLOWTEMPETS
   1.3 重新添加一个叫WORKFLOWTEMPETS的数据连接:
     1.3.1新建 连接---仅接收数据---数据库(SQL)--选择数据库--新建一个SQL连接的ODC---服务器名(MWmsworkflow数据库名)--选择MWmsworkflow数据库和表
  WORKflowtempets---完成--选择数据源结构--(只要这两个WORKflowtempetid,WORKflowtempetnMAE)
     1.3.2 选中你刚建立的连接,按转换--在转换输入:URL(去7.2步中COPY你的数据库URL),成功转换后
     去MWMS网站中看看有没有这个链接(然后批准它)
     1.3.3 在工作流模板中按下接列表WFTEMPLATE属性,在列表框项,选"从外部数据源查找值"---项/dfs:myFields/dfs:dataFields/d:WorkFlowTemplets
     值:@WorkflowTempletID
     显示名:@WorkflowTempletName

这时你按预览就可以看到你建立的流程模板了.

1.4 在文件中另存源文件存到C:\SOURCE
       1.4.1 开始运行CMD,在命令提示符下 XSD MYSCHEMA.XSD /C 生成文件C:\SOURCE\MYSCHEMA.CS
       1.4.2 MYSCHEMA.CS 改名为startWF1.cs COPY到你codes\ProgramSolution\MWMS.Workflow 把原来的覆盖掉
   2 重新BUILD MWMS.WORKFLOW
   3 修改你INSTALL.BAT
    找到 -url http://server:9000,修改成你的网站URL吧
   4 把你的BACONFIG.XMLCOPY 到codes\ProgramSolution\MWMS.Workflow
   5 可以安装MWMS.WORKFLOW了,按INSTALL ,..看有没有出错,没出错就OK了.

接下来的事就是...测试了这个MWMS.WORKFLOW了....完

转载于:https://blog.51cto.com/yerik/373400

一步一步部署微软工作流解决方案(MWMS)到生产环境相关推荐

  1. 通过脚本案例学习shell(五) 通过创建DNS脚本一步一步教你将一个普通脚本规范到一个生产环境脚本...

    通过脚本案例学习shell(五) 通过创建DNS脚本一步一步教你将一个普通脚本规范到一个生产环境脚本   版权声明: 本文遵循"署名非商业性使用相同方式共享 2.5 中国大陆"协议 ...

  2. Yearning SQL审核平台部署与使用 详细步骤【生产环境】

    文章目录 前言 版本选择 一.数据库环境准备 1.卸载自带的mysql源 2.安装mysql-5.7.38 3.登录数据库并设置密码策略修改默认密码 4.创建Yearning要使用的数据库 二.部署Y ...

  3. 创建、部署和卸载SharePoint工作流解决方案包(WSP)

    在Visual Studio 2005时代,Visual Studio的插件提供了一个批处理文件(*.bat)来部署SharePoint工作流:在Visual Studio 2008时代,Visual ...

  4. PaddleOCR——Visual Studio 2019 环境下C++推理部署 CMake 编译解决方案

    PaddleOCR--Visual Studio 2019 环境下C++推理部署 CMake 编译解决方案 官方文档 环境配置 Step1: 下载PaddlePaddle C++ 预测库 paddle ...

  5. 一步一步学WF系列(四)——工作流模拟登陆

    1. 摘要 我们之前已经熟悉了关于WF的基本概念,相信各位也都跃跃欲试.想步入真正的WF开发. 从本文开始,我们就先来熟悉在WF中的活动. 2. 活动 WF的核心就是一系列的活动. 而工作流就是多个活 ...

  6. 一步一步教你使用云服务器部署爬虫

    一步一步教你使用云服务器部署爬虫 1. 注册阿里云,可以免费试用一个月的云服务器.每天十点0元抢购 2. 点击进入阿里云领取页面 3. 点击管理可以修改密码 4.用显示的公网ip远程登录服务器,默认r ...

  7. 【Python实战】用Scrapyd把Scrapy爬虫一步一步部署到腾讯云上,有彩蛋

    接着之前的几篇文章说. 我把爬虫已经写好了,而且在本地可以运行了. 这个不是最终的目的啊. 我们是要在服务器上运行爬虫. 利用周末,同时腾讯送的7天云服务器体验也快到期了 就在这里再来一篇手把手的将爬 ...

  8. Linux手动部署nlb步骤,一步一步配置NLB(续)之深入测试

    首先,准备一些工具: 1. Fiddler2,用来查看请求的分配情况,当然这个工具还有其他强大的功能,今天,我们只用很小的功能; 其次呢,我们了解一下NLB里面端口规则的设置: a.右键群集--> ...

  9. 通过Dapr实现一个简单的基于.net的微服务电商系统(八)——一步一步教你如何撸Dapr之链路追踪

    Dapr提供了一些开箱即用的分布式链路追踪解决方案,今天我们来讲一讲如何通过dapr的configuration来实现非侵入式链路追踪的 目录: 一.通过Dapr实现一个简单的基于.net的微服务电商 ...

最新文章

  1. R语言ggplot2可视化在lines线图的尾端添加线图标签、并且去除图例实战
  2. 视频直播网站开发千万不能忘的一个知识点
  3. python输出特别的矩阵
  4. 前端答题小游戏_这是什么神奇操作!两个前端一周上线一款联机小游戏
  5. shell编程之正则表达式
  6. 架构之路(八)从CurrentUser说起
  7. Java并发编程实战————可重入内置锁
  8. oracle改类型吗,详解Oracle修改字段类型方法总结
  9. Java三种嵌入jsp的方法
  10. こだわり者いろはちゃん / Iroha's Obsession (暴力枚举)
  11. ArcGIS与地理加权回归GWR【二】以及MGWR软件下载
  12. sql2000 数据库置疑解决
  13. select默认选中及赋值问题
  14. 如何用Matlab求极限
  15. CF机器码怎么解-LOL机器码怎么改?(最详细教程CX)
  16. 城市数据大脑:小汽车儿堵成翔?NONONO!
  17. Pytorch学习率调整策略
  18. 做国外广告联盟:你要学会这些运作方法
  19. 四种Linux硬盘分区方式,首次安装Linux之磁盘分区
  20. 如何看hbo_哪些设备支持HBO Max? Roku和Amazon Fire TV不要

热门文章

  1. 【杂谈】三人行必有AI,你会在其一吗?
  2. 【完结】听完这12次分享,你应该完成了AI小白的蜕变
  3. 全球及中国汽车紧急呼叫终端行业运营模式及未来投资方向建议报告2022版
  4. GWT与Eclipse集成开发初步研究
  5. 【USACO06DEC】—牛奶模式Milk Patterns(后缀自动机)
  6. 二项分布和泊松分布的关系
  7. 【JSTL】--c:out演示--drp213
  8. CQRS, Task Based UIs, Event Sourcing agh!
  9. xStream转换XML、JSON
  10. 由验证下载服务器性能得到的启示