moss上部署webpart的一些方法

moss上部署webpart的一些方法

当然最直接的方法,就是手动部署:
把dll放到bin或者gac里 -> 在web.config里写SafeControl -> 在网站集的web部件库中添加进来

这个贴子里我想说的是通过stsadm工具部署的几种方法

方法一: 2003时代延续的方法
使用cab包将webpart的dll、dwp、manifest.xml打包成一个cab包
使用stsadm -o addwppack 部署
(可以使用stsadm -o enumwppacks浏览这样部署的webpart,
使用stsadm -o deletewppack卸载)
这种方法也可以适用于新的webpart(asp.net的),编写.webpart文件代替.dwp文件
不过需要注意的是这两种文件的格式是不一样的,详细的就不说了,可以在web部件库里打开一个看看就知道了

方法二:moss里对方法一的改进
这个方法我没有试过,不过看起来和方法一是一致的,不过多了一些参数
使用的是stsadm -o deploywppack部署,stsadm -o retractwppack卸载

方法三:通过solution部署
需要编写一个solution用的manifest.xml,和2003时代的那个manifest.xml很像
部署webpart的话,需要在里面写上Assemblies和DwpFiles(资源文件的ClassResources是在Assembly里)
其实solution的wsp文件就是cab文件,只不过是换了一个扩展名而已………………
在SDK里有具体的格式说明,不过需要注意的是,sdk在这个地方有一个错误
在DwpFile节中,sdk中说使用FileName属性指定dwp/webpart文件,而实际上,应该使用Location属性替代FileName属性
部署方法(2步):stsadm -o addsolution
stsadm -o deploysolution
卸载方法(2步):stsadm -o retractsolution
stsadm -o deletesolution

方法四:通过solution + feature部署
这是最复杂的一种方法,vs2005扩展包中的webpart模版使用的就是这种方法
它并不是直接将webpart加到solution中
而是将其先加到一个feature中(在feature中包含dwp/webpart,并指定部署到web部件库)
然后再把这个feature加到solution中(dll文件还是在solution里指定)
部署的时候除了部署solution外,还需要激活那个feature
这种方法比较灵活,可以在页面上通过feature来开启/关闭这个webpart
部署方法(3步):stsadm -o addsolution
stsadm -o deploysolution
stsadm -o activatefeature
卸载方法(4步):stsadm -o deactivatefeature
stsadm -o uninstallfeature
stsadm -o retractsolution
stsadm -o deletesolution
如果是通过vs2005部署的话,我们可以看到在bin\Debug或Release目录中生成wsp文件的同时,还生成了一个setup.bat,通过这个bat,就可以非常方便地完成上述步骤:
部署:setup -i

卸载:setup -u

你可能感兴趣的:(part)