共用方式為


SharePoint 2010:解決方案包裝

你已經開發您的 SharePoint 解決方案後,您如何打包和部署這些是過程的最後一部分。

Steve Wright 和 Corey Erkes

改編自"Pro SharePoint 2010 治理"(Apress,2012年)

當你們在開發解決方案,以使用在 SharePoint 內時,您仍有如何打包和部署這些解決方案的選項。 SharePoint 解決方案框架用於安裝 SharePoint 環境中的自訂功能增強。

解決方案框架允許您將部署、 啟動和以受控方式更新自訂群組件。 這種結構旨在使 SharePoint 伺服器場保持穩定。 您的解決方案包可以包含一致的方法來對您的自訂群組件進行當地語系化的資源檔。 解決方案框架將替換其他 Microsoft 安裝程式 (MSI) 檔和 ClickOnce 等 Windows 環境中使用的安裝程式技術。

解決方案包還提供捆綁在一起的所有關聯到一個副檔名為 WSP 檔自訂增強元件的手段。 所以在農場內的所有伺服器上同時安裝的所有元件,然後可以將這些檔部署到農場上。 這將需要保持 Web 頁檔、 範本和每個伺服器上單獨的可執行檔中刪除。

SharePoint 2010 年解決方案框架還包括新的功能,以説明您更新解決方案包中的地方而不會干擾電場運營。 您可以通過版本控制每個部署功能,並提供用於從功能的一個版本升級到另一個自訂操作。

解決方案包

一個解決方案包檔是 WSP 檔案名副檔名為單個檔。 然而,似乎是一個檔可能實際上是成一個存檔的幾個檔。 WSP 檔案格式其實只不過是一個標準 Windows 壓縮包 (CAB) 檔。 要證明這一點,採取任何解決方案檔,並從 WSP 的副檔名更改為 CAB。 現在打開該檔,您將看到的檔結構。

有根目錄和包含其他元件的一個或多個子目錄中的套裝程式清單檔。 很多這些元件是清單、 網站,與配置資訊的 XML 檔內容類型等。

你會發現在解決方案包中的大多數常見檔是:

  • **Manifest.xml:**在包中有一個清單檔。 它包含在包中,一切的說明,直接或通過對其他檔的引用。
  • **Feature.xml:**這些檔描述的配置和功能與關聯的元件。 您可以打開這些打開或關閉在 SharePoint 環境中。
  • **Elements.xml:**這些檔包含清單的單個元件和它們的配置資訊。 元件是清單實例、 內容檔、 網站欄、 內容類型和事件接收器等專案。
  • **Schema.xml:**這些檔包含某個物件 (如清單範本的中繼資料規範。

還有許多其他類型的檔出現在解決方案包中,但這些是最重要的。 他們控制的功能和元件的配置。 在使用它們之前,您需要瞭解一些有關將部署的環境。

瞭解部署環境

當您將解決方案包部署到 SharePoint 伺服器場時,它部署在兩個運行時環境之一。 第一次環境是伺服器場本身。 這使解決方案元件能力到整個農場訪問資源和超越,這些專案的存取權限的範圍內。

第二個環境 — — 沙箱 — — 遠更有限。 當解決方案包在沙箱中運行時,限制其影響整個伺服器場的能力。 瞭解場解決方案和沙箱解決方案之間的區別是部署規劃自訂增強功能的關鍵。

首先要考慮是在將在其中部署解決方案。 農場解決方案是全球向伺服器場。 沙箱解決方案是本地到特定網站集。 如果多個網站集合需要使用沙箱解決方案,你得要分別部署到每一個人。

農場和沙箱解決方案之間最重要的區別是安全。 場一般完全信任下運行的解決方案。 使用.NET 代碼訪問安全性 (CAS),您可以創建以低於完全信任級別運行的伺服器場解決方案元件。 這是一個不錯的主意,從安全的角度看,因為它允許具有所需許可權的最小集運行的代碼。 您應保留場部署行之有效和高度受信任的代碼。

在一個非常不同的安全環境中運行沙箱解決方案。 他們對資源的訪問僅限於部署這些網站集。 還有資源限制和配額可以應用,防止流氓解決方案元件從會影響系統性能。 很容易可以禁用沙箱解決方案行為不端,並阻止它們運行完全,如果需要。

管理您的伺服器場解決方案

將解決方案包部署到 SharePoint 伺服器場中包含兩個基本操作:添加和部署。 添加操作將上載到 SharePoint 設定資料庫中,它可以通過每個伺服器場中的解決方案檔。 部署安裝到不同的檔在伺服器場中的每個伺服器上檔案系統目錄。

只有伺服器場管理員可以添加到農場解決方案存儲解決方案。 使用者可以上傳一個包的中央行政管理中沒有頁面。 您必須使用一個命令列工具執行此操作。 您還可以添加使用 SharePoint API 的解決方案。

若要使用 STSADM 工具添加包,請使用以下命令:

stsadm-o addsolution-檔案名 MySolution.wsp

若要執行相同的操作使用 Windows PowerShell,使用如下命令:

添加 SPSolution-LiteralPath MySolution.wsp

添加操作完成後,套裝軟體將出現在管理中心網站的解決方案管理頁面上。 雖然您已經上傳的包檔,它的功能尚未準備好使用。 在這一點上,每個 SharePoint 伺服器上安裝還沒有解決方案檔。

現在,您已經添加農場解決方案存儲您的套裝軟體,您可以將它部署到農場。 有兩種方法,您可以部署一個包從農場存儲:本地部署和通過計時器作業。

本地部署在伺服器場中安裝一台伺服器上的解決方案檔。 你可以只是此類型的部署使用命令列。 它只會影響,它將在其上運行的伺服器。 您不能使用您的解決方案,直到它部署在所有伺服器場的伺服器上。 因此,你不得不重複每個伺服器上的部署過程。

更常見的部署類型使用 SharePoint 定時服務。 您可以部署這種方式使用命令列或中央行政管理 Web 網站。 當你開始部署時,SharePoint 創建計時器作業,將在伺服器場中的每個伺服器上運行。 這已在每個伺服器上執行本地部署相同的效果。

除了讓您將部署在單個步驟中,計時器作業部署也自動重新開機 IIS 輔助進程的進程。 您必須執行此操作來讓 SharePoint 正確識別新的解決方案檔。 當 IIS 輔助進程重新開機時,可能會短暫的停機,但它不應該持續超過幾秒,在大多數情況下。

要從命令列執行伺服器場部署,可以在 Windows PowerShell 中使用 STSADM 工具上的-deploysolution 選項,或者安裝 SPSolution Cmdlet。 (請注意,Windows PowerShell Cmdlet 稱為安裝-SPSolution,不部署 SPSolution)。

這些命令都有一個-本地的標誌,用於執行本地部署。 要使用一個計時器作業,將運行在給定的時間,使用這兩個命令中的-時間選項。 要使用一個計時器作業,輸入命令後立即執行,使用 STSADM 或只是假的-立即選項-從 Windows PowerShell 命令的地方和時間的選項。

部署場解決方案時,您可以指定其他幾個選項。 這裡是最重要的幾個:

  • **Web 應用程式:**一些解決方案有您需要部署 IIS Web 應用程式目錄結構內的資源。 時部署的解決方案,您可以選擇一套的 Web 應用程式對這些資源的目標。
  • **全域程式集:**如果解決方案包中包含程式集,您需要部署到全域組件快取 (GAC) 中,有一個選項,會阻止您不知情的情況下部署完全信任的代碼。
  • **CAS:**CAS 策略控制對場中運行部分受信任的代碼授予的許可權。 如果解決方案包中包含新的 CAS 策略,你得這的標誌。

您還可以部署解決方案從中央管理 Web 網站。 在左側的功能表中選擇系統設置。 然後選擇管理場解決方案。 剛添加的包將會顯示的狀態為未部署。

按一下該套裝軟體的名稱,您將看到螢幕上的包,包括是否包含在完全受信任的程式集或 CAS 策略的部署過程中需要進行特殊處理的專案有關的有用資訊。 按一下部署解決方案連結以顯示一個表單,您可以使用啟動部署計時器作業。 您不能執行本地部署通過 Web 介面。

部署到 SharePoint 的沙箱解決方案是從部署場解決方案非常不同的。 而不是跟部署添加,沙箱部署由部署和啟動的步驟組成。 但是,使用沙箱是他們活在部署之前測試解決方案的有效方式。

Steve Wright

Steve Wright 是在奧馬哈訴 Sogeti 美國 llc 公司商業情報管理高級經理 最後于過去 20 多年來,賴特一直在空中交通管制、 金融、 保險和一大批其他類型的系統。 他創作,並為許多原來的頭銜,涵蓋包括 Windows、 SharePoint、 SQL Server 和 BizTalk 的 Microsoft 產品進行技術審查。

Corey Erkes

Corey Erkes 是在奧馬哈訴 Sogeti 美國 LLC 的經理顧問 Erkes 已經與廣泛的公司合作,在生命週期中它們的 SharePoint 實現的不同點。 他也是奧馬哈 SharePoint 使用者組的創始成員之一。

© 2012 Apress 公司。 保留所有的權利。 列印從 Apress 的許可權。 版權所有 2012。 "臨 SharePoint 2012 治理"Steve Wright 和 Corey Erkes。 此標題和其他類似的書籍的詳細資訊,請訪問 apress.com

相關的內容