2010-09-01 57 views
2

当我说“解决方案”时,我目前支持SharePoint“解决方案”,我的意思是打包用于部署为.wsp文件的功能集合(如Web部件,列表定义等)。这种方法被称为developers approach,现在我们以MSI的形式发布这个.wsp,升级过程要求用户收回整个解决方案并重新部署。如何升级您的SharePoint解决方案?

在我开始重新创建新的升级方法之前,我想向SO SharePoint专家提出建议,告诉我们如何减少繁琐的恢复解决方案和重新部署更新/补丁程序的过程,同时保持共享点解决方案存储与最新的dll的最新版本。

初始想法:

  • (1)创建,可以自动许多步骤可能的,如缩回旧溶液,重新部署新的解决方案,复制/更新配置文件的powershell一个脚本。基本上重新部署解决方案。 (当前使用的方法)
  • (2)将任何新修补程序作为新功能进行部署。
  • (3)您的想法/方法在这里。

回答

3

实际上,我实际上不使用.msi安装程序来部署SharePoint解决方案,主要是因为我觉得收回,升级和重新部署解决方案比简单更新所需的更为有害。

stsadm SharePoint管理工具支持upgrading a SharePoint solution in-place。使用stsadm -o upgradesolution的吸引力在于您可以避免收回,更新和重新部署代码。

另一方面,.msi安装程序的吸引力是双击 - 这就是它,无需为控制台安装解决方案。我尝试通过起草一个PowerShell脚本来处理所有stsadm命令等,从而缩小安装程序体验和原始stsadm体验之间的差距。

就地升级通常非常有效;但是,如果您计划对事件接收器类进行更改,则可能会发现完全停用 - 撤消 - 升级 - 部署 - 激活周期是必需的。

例如,我有一些Web应用程序范围的功能,可以在激活功能时将新的WebConfigModification条目添加到应用程序的web.config中。我应该添加新的web.config条目,直到该功能停用并重新激活后才会显示新条目。

避免上述缺点的合理策略是实施新功能,否则更改会强制停用重新激活循环。

无论如何,我的解决方案部署策略有两分钱。我希望它有帮助。

0

我经常使用Stsadm命令的WSP封装

这里是带有参数的命令升级使用脚本打击:

stsadm -o upgradesolution -name "WSPName.wsp" -filename "c:/WSPName.wsp" -immediate -allowgacdeployment -allowcaspolicies 

第二个命令是使用强制立即执行该作业

stsadm -o execadmsvcjobs 
相关问题