逐步解說:使用部署資訊清單部署文件層級自訂 (2003 系統)
更新:2007 年 11 月
適用於 |
---|
本主題中的資訊僅適用於指定的 Visual Studio Tools for Office 專案和 Microsoft Office 版本。 專案類型
Microsoft Office 版本
如需詳細資訊,請參閱依應用程式和專案類型提供的功能。 |
此逐步解說示範如何將 Microsoft Office Excel 或 Microsoft Office Word 文件層級自訂部署至伺服器上的網路共用。在逐步解說的結尾,您將能夠從開發電腦執行伺服器上的方案。如需文件層級自訂的詳細資訊,請參閱 文件層級自訂的架構。
在實際執行環境中,Visual Studio Tools for Office 方案通常會先發行至測試伺服器,然後在 IT 部門核准後,才會重新部署至實際執行伺服器 (Production Server)。在這個逐步解說中,您會將方案發行至開發電腦上的暫存位置,然後從暫存位置將方案重新部署至伺服器。如需部署方案之選項的詳細資訊,請參閱部署模型 (2003 系統)。
此逐步解說會說明以下工作:
使用 [發行精靈],將方案發行至開發電腦上的位置。
以手動方式從本機電腦將方案重新部署至伺服器上的網路共用。
以程式設計方式修改內嵌於文件的應用程式資訊清單,以指向新的部署資訊清單位置。
編輯部署資訊清單,以指向外部應用程式資訊清單的新位置。
編輯外部應用程式資訊清單,以指向新組件位置和部署資訊清單。
必要條件
您需要下列元件才能完成此逐步解說:
Visual Studio Tools for Office (Visual Studio 2008 Professional 和 Visual Studio Team System 的選擇性元件)。
Microsoft Office Word 2003 或 Microsoft Office Excel 2003。
注意事項: 這個逐步解說會假設您要部署 Word 方案。如果您想要使用 Excel 方案執行本逐步解說,請將所有程式碼和 XML 範例中的 Word 專案名稱取代成您的 Excel 專案名稱。
存取網路伺服器,以便進行部署。這個逐步解說會假設您要將方案重新部署至網路共用 \\DeployServer\ShareFolder。
開發電腦上的系統管理員權限,如此您才能設定網路位置的安全性原則。
建立專案
在這個步驟中,會建立一個 [Word 文件] 專案。
若要建立新的專案
使用 Office 2003 的專案範本建立 [Word 文件] 專案,並命名為 WordDeployment。
選取精靈中的 [建立新文件]。如需詳細資訊,請參閱 HOW TO:建立 Visual Studio Tools for Office 專案。
Visual Studio 會在設計工具中開啟新的 Word 文件,並將 WordDeployment 專案加入至 [方案總管]。
加入文件的後置程式碼
專案需要一些程式碼,您才能在開啟文件時,驗證方案是否正常運作。在本逐步解說中,請將訊息方塊加入至文件的 Startup 事件處理常式中。
若要將訊息方塊加入至初始化事件
在 [方案總管] 中,以滑鼠右鍵按一下 [ThisDocument.vb] 或 [ThisDocument.cs],然後按一下快速鍵功能表上的 [檢視程式碼]。
將下列程式碼加入至 ThisDocument 類別內的 Startup 事件處理常式,以便在初始化期間顯示訊息方塊。
Private Sub ThisDocument_Startup(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles Me.Startup MessageBox.Show("The document is deployed correctly.") End Sub
private void ThisDocument_Startup(object sender, System.EventArgs e) { MessageBox.Show("The document is deployed correctly."); }
按 F5 執行專案。
Word 隨即啟動且訊息方塊便會出現。
關閉訊息方塊。
結束 Word。
發行方案
此程序的第一個部署步驟,是要將方案發行至本機電腦上的暫存位置。
若要發行方案
在 [方案總管] 中的專案節點上按一下滑鼠右鍵。
按一下快速鍵功能表上的 [發行]。
[發行精靈] 隨即出現。
在 [指定要發行此應用程式的位置] 方塊中,輸入 C:\TestDeploy。
按一下 [完成]。
方案文件和部署資訊清單就會複製到 C:\TestDeploy 中。方案組件、更新的應用程式資訊清單,以及方案文件與部署資訊清單的複本則會複製到 C:\TestDeploy\WordDeployment_1.0.0.0。如需詳細資訊,請參閱部署文件層級自訂 (2003 系統)。
按一下 [檔案] 功能表上的 [關閉方案],關閉 Visual Studio 中的 WordDeployment 方案。
注意事項: 組件還沒有執行的使用權限,因此如果您嘗試執行方案,將會擲回錯誤。您將會在稍後的步驟中更新安全性原則,以授與組件完全信任的使用權限。
當您發行方案時,方案文件中內嵌的應用程式資訊清單就會指向部署資訊清單的完整路徑。如果您將方案檔重新部署至另一個位置,就必須將內嵌的應用程式資訊清單更新成指向部署資訊清單的新位置。此外,您也必須將部署資訊清單和外部應用程式資訊清單更新成指向新的檔案位置。
更新內嵌的應用程式資訊清單
若要編輯內嵌的應用程式資訊清單,請使用 Visual Studio Tools for Office 提供的 ServerDocument 類別。使用 ServerDocument 類別時,您必須在新專案 (而非 Visual Studio Tools for Office 方案) 中執行程式碼,例如主控台專案,而且必須關閉 Visual Studio Tools for Office 方案文件。
注意事項: |
---|
Visual Studio Tools for Office 包含一項範例,此範例會示範如何建立可用來編輯內嵌應用程式資訊清單的工具。如需詳細資訊,請參閱ServerDocument 範例。 |
若要更新內嵌的應用程式資訊清單
建立新的主控台應用程式專案。
在這個專案中加入 Microsoft.VisualStudio.Tools.Applications.Runtime 和 System.Windows.Forms 組件的參考。
開啟 Program.cs 或 Module1.vb 檔,然後將下列 Imports 或 using 陳述式加入至檔案的頂端。
Imports Microsoft.VisualStudio.Tools.Applications.Runtime
using Microsoft.VisualStudio.Tools.Applications.Runtime;
將下列程式碼複製到 Main 函式中。這段程式碼會建立 ServerDocument,以便存取方案文件的內嵌應用程式資訊清單。此程式碼會將新的部署資訊清單路徑指派給 DeployManifestPath 屬性,然後儲存並關閉 ServerDocument。
Dim sd As ServerDocument = Nothing Try sd = New ServerDocument("C:\TestDeploy\WordDeployment.doc") sd.AppManifest.DeployManifestPath = _ "\\DeployServer\ShareFolder\WordDeployment.application" sd.Save() Finally If Not sd Is Nothing Then sd.Close() End If End Try
ServerDocument sd = null; try { sd = new ServerDocument(@"C:\TestDeploy\WordDeployment.doc"); sd.AppManifest.DeployManifestPath = @"\\DeployServer\ShareFolder\WordDeployment.application"; sd.Save(); } finally { if (sd != null) { sd.Close(); } }
按 F5 執行專案。
當內嵌的應用程式資訊清單進行更新時,主控台視窗會短暫地出現,然後便關閉。
更新部署資訊清單
既然已經更新了 Visual Studio Tools for Office 方案文件中的內嵌應用程式資訊清單,您就必須將部署資訊清單更新成指向外部應用程式資訊清單的新位置。
若要更新部署資訊清單
在文字編輯器 (例如記事本) 中開啟部署資訊清單。此部署資訊清單位於發行資料夾 C:\TestDeploy 中,名為 WordDeployment.application。
將 <dependentAssembly> 項目的 codebase 屬性 (Attribute) 設定為外部應用程式資訊清單之最後部署位置的完整路徑。如需詳細資訊,請參閱 <dependentAssembly> 項目 (Visual Studio Tools for Office Reference)。本逐步解說的屬性看起來應該如下列範例所示。
<dependentAssembly codebase="\\DeployServer\ShareFolder\ WordDeployment_1.0.0.0\WordDeployment.dll.manifest"
儲存並關閉部署資訊清單檔。
更新外部應用程式資訊清單
除了更新部署資訊清單外,您還必須將外部應用程式資訊清單編輯成指向方案組件和部署資訊清單的最後部署位置。每次您發行 Visual Studio Tools for Office 方案時,就會產生新的外部應用程式資訊清單,而且它會指向方案組件的目前版本。
若要更新外部應用程式資訊清單
在文字編輯器 (例如記事本) 中開啟應用程式資訊清單。此應用程式資訊清單位於發行資料夾 C:\TestDeploy\WordDeployment_1.0.0.0 中,名為 WordDeployment.dll.manifest。
找出 <installFrom> 項目 (<dependency> 項目的子系),然後將 codebase 屬性設定為目前方案組件的完整路徑。如需詳細資訊,請參閱 <installFrom> 項目 (Visual Studio Tools for Office Reference)。本逐步解說的屬性看起來應該如下列範例所示。
<dependentAssembly codebase="\\DeployServer\ShareFolder\ WordDeployment_1.0.0.0\WordDeployment.dll"
找出 <installFrom> 項目 (<assembly> 項目的子系),然後將 codebase 屬性設定為部署資訊清單的完整路徑。如需詳細資訊,請參閱 <installFrom> 項目 (Visual Studio Tools for Office Reference)。本逐步解說的屬性看起來應該如下列範例所示。
<dependentAssembly codebase="\\DeployServer\ShareFolder\WordDeployment.application"
儲存並關閉應用程式資訊清單檔。
將方案檔複製到伺服器上
既然已經編輯資訊清單,您就可以準備將方案檔複製到伺服器的最後部署目的地。
若要將方案檔複製到伺服器上
在網路檔案共用 \\DeployServer\ShareFolder 底下建立 WordDeployment_1.0.0.0 資料夾。
將方案文件和部署資訊清單複製到 \\DeployServer\ShareFolder 中。
將方案組件和應用程式資訊清單複製到 \\DeployServer\ShareFolder\WordDeployment_1.0.0.0 中。
對網路資料夾授與完全信任
若要從網路資料夾執行 Visual Studio Tools for Office 方案,您必須在開發電腦的安全性原則中,對網路資料夾授與完全信任。您可以使用程式碼存取安全性原則工具 (Caspol.exe),從命令提示字元修改安全性原則。若要對網路位置授與信任,您必須擁有系統管理員的權限,而且必須在電腦層級變更安全性原則。
注意事項: |
---|
進行這項程序的目的是為了執行本逐步解說。如果您不確定組件或目錄是否安全,請不要使用這項程序對組件或目錄授與信任。如需授與或移除使用權限的詳細資訊,請參閱 HOW TO:將使用權限授與資料夾和組件 (2003 系統) 和 HOW TO:從資料夾和組件移除使用權限 (2003 系統)。 |
若要對網路資料夾授與完全信任
在 [Visual Studio 命令提示字元] 中輸入下列命令:
caspol -m -ag LocalIntranet_Zone -url \\DeployServer\ShareFolder\* FullTrust -n "Remote Deployment" -d "Deployment Walkthrough"
測試方案
現在您可以測試方案,以便確認當您從開發電腦開啟文件時,程式碼是否會執行。
若要測試部署
在開發電腦上,開啟 \\DeployServer\ShareFolder\ 中的 WordDeployment.doc 檔。
確認訊息方塊是否會出現。
後續步驟
此外,您也可以使用 Microsoft Windows Installer (.msi) 檔,部署您的方案。如需詳細資訊,請參閱逐步解說:使用 Windows Installer 檔部署文件層級自訂 (2003 系統)。
請參閱
工作
逐步解說:使用 Windows Installer 檔部署文件層級自訂 (2003 系統)