在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=""C:Program FilesMicrosoft VSTO Power Tools 1.0Workflow Package GeneratorWorkflowPackageGen.exe" /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 filescommon filesmicrosoft sharedweb server extensions12binstsadm.exe"
%STSADM% -o addsolution -filename WSP文件路徑
第二步是將該解決方案包部署到Web前端服務器,這一步有兩種方法:
在SharePoint管理中心中,轉到“操作”>“解決方案管理”,點擊剛纔部署的解決方案包,點擊“部署解決方案”。
將以下命令保存到一個批處理文件(*.bat)中,執行該文件就可以將WSP文件部署到SharePoint Web前端服務器了:
@SET STSADM="c:program filescommon filesmicrosoft sharedweb server extensions12binstsadm.exe"
%STSADM% -o deploysolution -name WSP文件路徑 -immediate -allowGacDeployment
%STSADM% -o execadmsvcjobs
第三步是在Web前端服務器中激活剛纔部署的解決方案包中的功能,這一步也有兩種方法:
在SharePoint Web前端服務器中,轉到“網站設置”>“網站集功能”,找到剛纔部署的工作流功能,點擊“激活”。
將以下命令保存到一個批處理文件(*.bat)中,執行該文件就可以激活該工作流功能了:
@SET STSADM="c:program filescommon filesmicrosoft sharedweb server extensions12binstsadm.exe"
%STSADM% -o activatefeature -filename "功能目錄feature.xml" –url "http://網站URL"
卸載SharePoint工作流解決方案包
卸載SharePoint工作流解決方案的步驟正好和部署相反,需要先停用工作流功能,然後收回解決方案,最後刪除解決方案包。
停用工作流功能的方法有兩種:
在SharePoint Web前端服務器中,轉到“網站設置”>“網站集功能”,找到剛纔部署的工作流功能,點擊“停用”。
將以下命令保存到一個批處理文件(*.bat)中,執行該文件就可以激活該工作流功能了:
@SET STSADM="c:program filescommon filesmicrosoft sharedweb server extensions12binstsadm.exe"
%STSADM% -o deactivatefeature -filename "功能目錄feature.xml" -url "http://網站URL "
收回解決方案的方法也有兩種:
在SharePoint管理中心中,轉到“操作”>“解決方案管理”,點擊剛纔部署的解決方案包,點擊“收回解決方案”。
將以下命令保存到一個批處理文件(*.bat)中,執行該文件就可以將WSP文件部署到SharePoint Web前端服務器了:
@SET STSADM="c:program filescommon filesmicrosoft sharedweb server extensions12binstsadm.exe"
%STSADM% -o retractsolution -name WSP文件名 -immediate
%STSADM% -o execadmsvcjobs
而從SharePoint場中刪除WSP文件則需要執行包含以下內容的批處理文件(*.bat):
@SET STSADM="c:program filescommon filesmicrosoft sharedweb server extensions12binstsadm.exe"
%STSADM% -o deletesolution -filename WSP文件名
總結
也許有人會覺得這種方法相對於Visual Studio 2005提供的批處理文件來說,並沒有多大改進。的確,這兩種方法都需要執行命令,但解決方案包的優勢是它會將工作流所需的資源都打包爲一個可分發的文件(*.wsp),而使用命令直接針對Feature.xml來安裝功能則需要分發多個文件(包括程序集、InfoPath表單、Feature.xml、Workflow.xml等)。
如果你願意,你完全可以將上述的所有命令組裝到一個批處理文件文件中,並添加安裝和卸載的開關(-i和-u),這樣就可以方便的進行“安裝+部署+激活”和“停用+收回+刪除”操作了(就像VSeWSS生成的批處理文件那樣)。
創建部署和卸載SharePoint工作流解決方案包
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.