WalkThroughSharePointWebPart入门指南四blog.joycode.comKaneboy[MSMVP]转载声明:此WalkThrough系列被转载和引用时,请保持博客堂链接。Thanks.此WalkThrough将演示•通过(.CAB)方式将WebPart部署到SPS服务器上•通过(.MSI)方式将WebPart部署到SPS服务器上背景知识•请通过此WalkThrough系列的第一辑了解在VS.NET中创建WebPart、加入UserControl、简单部署WebPart等基础知识。一、下载、安装CabinetManager2003通过此链接下载CabinetManager2003汉化版,并安装在开发WebPart的计算机上。此WalkThrough中将通过这个软件来方便的生成(.CAB)压缩文件。CabinetManager的使用方法很简单。安装后,在资源管理器中选择一个或多个文件,然后点击鼠标右键呼出上下文菜单,选择其中的“添加到Cabinet(A)”选项,就可以根据提示,将选中的文件压缩到一个cab文件中。二、创建一个WebPart在VS.NET中建立一个类型为“WebPartLibrary”,名称为“SampleWebPart”的项目。在“WebPart1.cs”文件的“RenderWebPart()”方法中将一个事先准备好的名字为“boketang.jpg”的图片输出。代码如下:protectedoverridevoidRenderWebPart(HtmlTextWriteroutput){System.Web.UI.WebControls.Imageimage=newImage();image.ImageUrl=/wpresources/samplewebpart/boketang.jpg;image.RenderControl(output);}三、编辑WebPart的部署文件VS.NET会给我们的WebPart项目自动生成一个用于部署的文件,“Manifest.xml”,将其打开进行必要的修改:由于在第二步中,我们使用了一个名为“boketang.jpg”的图片文件,所以,我们需要告诉这个部署文件。在已有的“AssemblyFileName=”SampleWebPart.dll“”标签下,增加一个新的标签“ClassResources”,用来描述这个WebPart所用到的所有其他的资源文件。ClassResourcesClassResourceFileName=boketang.jpg//ClassResources如上,我们增加的这三行标签告诉部署文件,我们需要一个名为“boketang.jpg”的资源文件。四、生成(.CAB)文件将我们这个WebPart所需要所有四个文件:SampleWebPart.dll(VS.NET编译生成的Assembly文件)WebPart1.dwp(WebPart描述文件)Manifest.xml(WebPart部署文件)boketang.jpg(WebPart中用到的图片资源文件)拷贝到一处,然后用CabinetManager2003将他们压缩成一个名称为“SampleWebPart.cab”的压缩包。将“SampleWebPart.cab”文件拷贝到SPS服务器的“C:/”位置。五、将(.CAB)中的WebPart部署到SPS服务器上部署(.CAB)方式压缩的WebPart需要SPS中的“stsadm.exe”这个命令行工具,它通常位于“C:\ProgramFiles\CommonFiles\MicrosoftShared\webserverextensions\60\BIN”目录中,请将这个目录加入到SPS服务器的系统“Path”环境变量中,以使我们可以直接调用到“stsadm.exe”。打开命令提示符窗口,将当前路径指定为“SampleWebPart.cab”所在的“C:/”,执行下面的指令:stsadm–oaddwppack–filenameSampleWebPart.cab如果成功,它会提示我们类似下面的信息:samplewebpart.cab:部署到。操作成功完成。至此,这个WebPart已经成功部署到了SPS服务器上的所有虚拟站点中。六、将WebPart放入页面中点击页面右上角的“修改我的网页”链接,在打开的菜单中选择“添加Web部件-浏览”,就可以在打开的Panel中浏览到。选择“虚拟服务器库”,就可以在下方的“Web部件列表”中看到我们在第五步中加入到虚拟服务器中的那个WebPart。通过Panel下方的“添加”按钮,将这个WebPart加入到当前页面中。效果如左图,它将指定的“boketang.jpg”图片输出来了。七、升级已部署的WebPart现在我们回到VS.NET开发界面,重新打开“WebPart1.cs”文件,修改RenderWebPart()方法,增加一行代码,给Image控件增加一个Tooltip效果,如下:protectedoverridevoidRenderWebPart(HtmlTextWriteroutput){System.Web.UI.WebControls.Imageimage=newImage();image.ImageUrl=/wpresources/samplewebpart/boketang.jpg;image.ToolTip=博客堂,.NET技术站点!;image.RenderControl(output);}重新编译、压缩生成(.CAB)文件、拷贝到SPS服务器上,然后在服务器的命令提示行输入命令(与第四、五步骤相同):stsadm–oaddwppack–filenameSampleWebPart.cab–force“-force”参数可以将已部署的WebPart升级成为最新的版本。再次浏览已加入此WebPart的页面,可以发现Tooltip效果已经加上去了。八、删除已部署的WebPart首先打开已加入WebPart的页面,通过此WebPart的下拉按钮,选择“删除”选项,将这个WebPart从页面上删除。在SPS服务器的命令提示行下输入下面的指令:stsadm–odeletewppack–nameSampleWebPart.cab就可以将SPS服务器上所有虚拟站点中的“SampleWebPart”删除。九、用(.MSI)方式部署WebPart下面开始介绍如何将WebPart制作成(.MSI)安装包,在SPS上以安装程序的形式部署WebPart。在此链接中下载WebPartPackager。将下载的压缩包展开(一共7个文件)到“C:/WPPackager”目录。将第四步中提到的WebPart所需要的4个文件拷贝到“C:/WPPackager”目录。SampleWebPart.dll(VS.NET编译生成的Assembly文件)WebPart1.dwp(WebPart描述文件)Manifest.xml(WebPart部署文件)boketang.jpg(WebPart中用到的图片资源文件)十、编辑WebPartPackager的打包配置文件打开WebPartPackager自带的“wppackager.xml”文件,根据各自的打包需要,编辑它。此例中打包配置文件的完整格式如下:?xmlversion=1.0?Wppackagerxmlns==Manifest.xml/MSIName=SampleWebPartVersion=1.0.0.1Manufacturer=kaneboy//WppackagerManifest标签“FileName”属性的值为WebPart的部署文件之所在,在这个例子中,WebPart的部署文件就是“manifest.xml”。MSI标签“Name”属性的值为打包生成的(.MSI)文件的名称。“Version”属性为(.MSI)安装包的版本(可用于升级更新的WebPart)。“Manufacturer”为WebPart的开发商信息。十一、生成(.MSI)安装包打开命令提示符窗口,将当前目录设置为“C:/WPPackager”,执行指令:wppackagerwppackager.xmlWebPartPackager将为你生成一个“SampleWebPart.msi”的安装文件。十二、安装、删除(.MSI)安装包将第十步生成的(.MSI)文件拷贝到SPS服务器中,双击执行它,就会启动WebPart的安装过程。在安装过程中,安装程序会询问是否将WebPart安装到SPS服务器所在的所有虚拟站点中,还是只安装到指定的虚拟站点中。如左图所示,我们只安装到“”这个虚拟站点中。要删除这个WebPart,只需要进入“控制面板-添加或删除程序”,就可以看到我们安装的WebPart被列在了程序列表中。点击“删除”按钮就可以将这个WebPart从SPS服务器上删除。十三、ToBeContinued…注意:此WalkThrough只讲述了“stsadm”最基本的WebPart部署功能,下列的其他要点:*指定在某个虚拟站点(而不是前面演示的SPS服务器上的所有虚拟站点)上安装和删除WebPart;*列出SPS服务器上所有安装的WebPart;*将有StrongName的WebPart安装到SPS服务器的GAC中;*在“bin”和“GAC”两种安装方式下,”stsadm”是如何放置WebPart所用到的资源文件的;请参考”stsadm”的帮助(通过“stsadm-help”命令)。下一辑:将讲述ConnectionWebPart。