MSDN Visual系列:创建SharePoint Services解决方案包

原文:http://msdn2.microsoft.com/en-us/library/bb466225.aspx
WSSv3引入了一种名为“解决方案包”的部署机制。这套机制可以支持将解决方案作为一个整体单元来部署。这样,我们就可以方便的维护,测试和多次的重复使用。我们可以将制作好的SharePoint解决方案包部署到WSSv3或MOSS的服务器环境中,包括单机环境,或独立Web服务器的小型环境甚至企业大型服务器场环境。
一个解决方案包是一个扩展名为.wsp的CAB文件。它包括了所有要部署到前端服务器上的文件和一些XML格式的安装指导文件。SharePoint提供了丰富的基础架构,可以实现解决方案包在服务器场环境下的简单部署。
每个解决方案包必须包含一个名为manifest.xml的头文件。该文件内部定义了一个Solution元素。
下面的manifest.xml文件创建了一个用于列表条目级审批的解决方案。
<Solution SolutionId="44BE5F4A-D561-4981-A318-95ABC706364A" 
          xmlns
="http://schemas.microsoft.com/sharepoint/">
  
<FeatureManifests>
    
<FeatureManifest Location="ItemAuditing\feature.xml" />
  
</FeatureManifests>
  
<TemplateFiles>
    
<TemplateFile Location="LAYOUTS\AuditLogViewer.aspx"/>
    
<TemplateFile Location="LAYOUTS\ItemAudit.aspx"/>
    
<TemplateFile Location="LAYOUTS\AuditLogWorkbook.ashx"/>
  
</TemplateFiles>
  
<Assemblies>
    
<Assembly DeploymentTarget="GlobalAssemblyCache" 
              Location
="ItemAuditing.dll" />
  
</Assemblies>
</Solution>


为解决方案包生成CAB文件

正如上面的例子那样,manifest.xml文件定义了哪些文件是作为该解决方案的一部分,应该被部署到前端Web服务器。定义了manifest.xml文件后,我们需要把它与其他所需的文件一起编译到一个CAB文件中。可以使用命令行工具MAKECAB.EXE来进行CAB文件的制作。如果要用这个工具,我们还要定义一个.ddf文件来告诉MAKECAB.EXE哪些文件要包含到输出的CAB文件中。下面给出一个.ddf的例子,名为cab.ddf,用来为上面的条目级审批解决方案生成ItemAuditing.wsp解决方案包文件。

.OPTION EXPLICIT ; Generate errors 
.Set CabinetNameTemplate
=ItemAuditing.wsp     
.Set DiskDirectoryTemplate
=CDROM ; All cabinets go in single directory
.Set CompressionType
=MSZIP ; All files compressed in cabinet files
.Set UniqueFiles
="ON"
.Set Cabinet
=on
.Set DiskDirectory1
=Package

Solution
\manifest.xml manifest.xml
TEMPLATE
\FEATURES\ItemAuditing\feature.xml ItemAuditing\feature.xml
TEMPLATE
\FEATURES\ItemAuditing\elements.xml ItemAuditing\elements.xml
TEMPLATE
\LAYOUTS\AuditLogViewer.aspx LAYOUTS\AuditLogViewer.aspx
TEMPLATE
\LAYOUTS\ItemAudit.aspx LAYOUTS\ItemAudit.aspx
TEMPLATE
\LAYOUTS\AuditLogWorkbook.ashx LAYOUTS\AuditLogWorkbook.ashx
bin
\Debug\ItemAuditing.dll ItemAuditing.dll

运行MAKECAB.EXE


创建好.ddf文件后,我们就可以运行如下的命令来生成.wsp解决方案包文件。

makecab /f Solution\cab.ddf

解决方案包很适合作为一个企业级或商业用途的部署文件。可以用Visual Studio项目的方式在开发环境中创建。对于所有需要部署到开发环境以外的场景,都可以用解决方案包的方式来部署。解决方案包还使得系统管理员可以进行脚本化安装,这个功能对于许多企业级的IT组织十分必要。
查看视频
posted @ 2007-05-28 23:36 Sunmoonfire 阅读(2773) 评论(5)  编辑 收藏 网摘 所属分类: SharePoint

  回复  引用  查看    
#1楼2007-05-30 08:47 | 清晨风      
谢谢楼主,我有个问题,就是使用solution package怎样将包含子目录的feature部署到WSS或MOSS上,比如我要将一个自定义母版页的Feature做成解决方案包,结果部署的时候MasterPage和zh-cn两个目录都没了,只有Feature和另外一个文件,请问我应该怎样做?
  回复  引用  查看    
#2楼[楼主]2007-05-30 18:09 | Sunmoonfire      
@清晨风
上面的例子中文件都是带路径的,不会存在不能包含子目录的问题。

  回复  引用    
#3楼2007-05-30 21:59 | picasa[未注册用户]
对,正是我想要的.
  回复  引用  查看    
#4楼2007-05-31 15:21 | 清晨风      
我将打包的wsp文件解压后还是原来目录结构,但部署后就没有子目录了.不知道那里有问题.我将我的解决方案文件连接在下面(82kb),楼主再帮我看看,麻烦你了.
http://lizhimin.cnblogs.com/Files/lizhimin/MOSSSolutionPackage.rar" target="_new">http://lizhimin.cnblogs.com/Files/lizhimin/MOSSSolutionPackage.rar

  回复  引用  查看    
#5楼[楼主]2008-04-02 09:57 | Sunmoonfire      
现在有更加简单的方式来帮助我们完成目标了,请参考官方文章
通过 STSDEV 简化 SharePoint 开发
http://msdn2.microsoft.com/zh-cn/magazine/cc337895.aspx?pr=blog" target="_new">http://msdn2.microsoft.com/zh-cn/magazine/cc337895.aspx?pr=blog




发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 763141




相关文章:

相关链接: