流星小筑
火流星一闪即逝,只留给人们许下心愿的瞬间

导航

 

原帖地址:http://www.danhome.com/Blog/article.asp?id=124(作者::love9)

当然最直接的方法,就是手动部署
  把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

posted on 2008-11-01 12:08  风渐寒pro  阅读(479)  评论(0编辑  收藏  举报