2010-09-01 63 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 
相關問題