在SharePoint开发中,Web部件是一种常见的组件,用于增强网站的功能。本文将介绍如何部署Web部件,包括使用stsadm工具和创建CAB文件的详细步骤。虽然这不是一个常规的操作,但通过本文的介绍,将能够掌握这一过程。
在开始之前,需要确保满足以下需求:
在SharePoint中,部署Web部件主要有两种方式:通过MSI文件或通过CAB文件。CAB文件安装是最简单的方法,而MSI文件则需要使用如Orca、Wise或InstallShield等工具。本文将重点介绍使用Visual Studio 2003中的CAB构建器。
首先,需要在Visual Studio中创建一个新的CAB项目。这可以通过在解决方案的根目录下添加一个新项目,并选择“Setup and Deployment Projects”下的“Cab模板”来完成。接下来,需要将主Web部件项目的Primary Output和Content文件添加到CAB项目中。
为了成功部署Web部件,项目中至少需要添加以下两个文件:
<?xml version="1.0"?>
<WebPartManifest xmlns="http://schemas.microsoft.com/WebPart/v2/Manifest">
<Assemblies>
<Assembly FileName="AKWebPart.dll">
<SafeControls>
<SafeControl Namespace="AKWebPart" TypeName="*"/>
</SafeControls>
</Assembly>
</Assemblies>
<DwpFiles>
<DwpFile FileName="AKWebPart.dwp"/>
</DwpFiles>
</WebPartManifest>
在Manifest文件中,需要指定DLL文件和DWP文件的路径,以及主程序集的命名空间。生成的CAB文件还会包含一个.osd文件,该文件指导安装API和stsadm工具如何处理CAB文件的安装。
<?xml version="1.0" encoding="utf-8"?>
<WebPart xmlns="http://schemas.microsoft.com/WebPart/v2">
<Title>Sample Web Part</Title>
<Description>A demonstration web part</Description>
<Assembly>AKWebPart</Assembly>
<TypeName>AKWebPart.AKWebPart</TypeName>
</WebPart>
DWP文件中包含了对Web部件V2 XML命名空间的引用,以及标题和描述。这些信息有助于在Web部件库中快速定位Web部件。在部署Web部件时,这一点尤为重要。
假设已经成功编译了Web部件并生成了CAB文件,下一步是将CAB文件复制到开发服务器上进行测试。可以使用UNC复制(如//servername/C$/Program Files/Microsoft Shared/web server extensions/60/bin)来完成这一步。这是stsadm工具的位置,它将帮助将包含新Web部件的CAB文件安装到测试服务器上。
stsadm工具对于部署新部件至关重要。它有一些参数需要在完全安装Web部件时提供。例如:
stsadm -o addwppack -filename yourcab.cab -url http://yourSPServerName
在这里,-o是要执行的操作,-filename是新CAB文件,-url是Web服务器的URL格式名称。
在安装和删除Web部件时,stsadm还有一些其他有用的参数:
To Remove a Web Part:
stsadm -o deletewppack -name yourcab.cab -url http://yourservername
To get a list of Web Parts installed after the initial deployment of SharePoint:
stsadm -o enumwppacks -url http://yourwebservername
请注意,参数在不同操作之间有细微的变化,如添加部件addwppack -filename,删除部件deletewppack -name,列出部件enumwppacks。这些参数都包含细微的差异,因此打字错误可能会发生。
使用addwppack成功部署后,需要执行两个额外的操作来测试新的Web部件。
首先,需要重置IIS,以便在SharePoint中使新部件可见。这里可以使用iisreset命令。运行iisreset后,将看到“尝试停止......”的消息。成功停止后,将看到“尝试启动......”的消息,并且有一点点运气,将成功重启服务器。
接下来,需要进入SharePoint的Web界面,使新Web部件对和用户提供访问,并执行以下操作: