部署SharePoint解决方案包时遇到的有关问题

部署SharePoint解决方案包时遇到的问题

部署SharePoint解决方案包时遇到的问题

        最近我在使用STSADM.EXE命令部署解决方案包的时候,遇到一个问题,非常的难搞。
        创建WSP文件很简单,添加到解决方案库也很简单。我用的命令一直是这样的:
stsadm -o addsolution -filename SolutionName.wsp
        但是,当我尝试着使用以下命令部署解决方案:
stsadm -o deploysolution -name SolutionName -url http://smallville-pc/ -local
        遇到问题:此解决方案不包含web应用程序范围的资源,无法将其部署到特定的web应用程序
        我花了好久才搞懂,为什么这个命令不正常工作(因为之前我成功过好多回了)。最后发现我必须省略URL参数才可以:
stsadm -o deploysolution -name SolutionName -local
        原因是这个解决方案,不像其他的,没有生成程序集。
        然后我尝试着部署其他解决方案时省略URL参数。但是有一部分又遇到问题:此解决方案包含 Web 应用程序范围的资源,必须将其部署到一个或多个Web应用程序。
        此时我不得不指定URL参数,才能正常运行STSADM.EXE命令,因为manifest.xml文件指定了<SafeControl>元素。部署的时候,SharePoint需要知道将<SafeControl>元素合并到哪个Web.config文件中。因此必须指定URL参数。
        最后我的总结是这样的:如果你的解决方案指定了元素(资源)需要合并到Web.config文件(即为一个Web应用程序),然后你必须指定URL参数;如果不包含程序集,然后你不能指定URL参数。
        在网络上我也找到了相应的文章,大家可以参考一下:MOSS2007 解决方案部署(关于“包含web应用程序范围的资源”与“不包含web应用程序范围的资源”)