使用 Windows Installer 部署 Visual Studio 2005 Tools for Office 方案:逐步解說 (二之二)
Posted on 2007-07-23 17:03 sunrack 阅读(2024) 评论(0) 收藏 举报Darryn Lavery, Microsoft Corporation
Lubo Birov, Microsoft Corporation
McLean Schofield, Microsoft Corporation
2005 年 12 月
適用於:Microsoft Visual Studio 2005、Microsoft Visual Studio 2005 Tools for the Microsoft Office System、Microsoft Office Excel 2003、Microsoft Office Outlook 2003、Microsoft Office Word 2003
摘要:提供兩個逐步解說,說明如何使用 Visual Studio 2005 安裝專案建立 Windows Installer 套件,以部署 Microsoft Visual Studio 2005 Tools for the Microsoft Office System 方案。(列印共 19 頁)
下載 OfficeVSTOWindowsInstaller.msi。
目錄
概觀
本文為兩篇文章的第二篇,提供兩個逐步解說,說明如何使用 Visual Studio 安裝專案建立 Windows Installer 套件,以部署 Microsoft Visual Studio 2005 Tools for the Microsoft Office System 方案。
第一個逐步解說提供建立 Microsoft Office Excel 2003 或 Microsoft Office Word 2003 方案所需 Windows Installer 套件的完整步驟。第二個逐步解說則示範如何強化 Microsoft Office Outlook 2003 增益集,包括安裝必要條件和授與信任給自訂組件。
|
開始這些逐步解說之前,請務必閱讀並遵循使用 Windows Installer 部署 Visual Studio 2005 Tools for Office 方案 (二之一) 中的指示。 |
逐步解說:建立 Windows Installer 套件來部署 Visual Studio 2005 Tools for Office 方案
本節說明如何建立 Excel 或 Word 的 Windows Installer 套件。雖然示範的是如何部署 Excel 方案,不過同樣的步驟也適用於部署 Word 方案。
您將學會如何:
-
建立安裝專案,用來建置啟動載入器和 Windows Installer 套件。
-
修改安裝專案,讓 Windows Installer 檔安裝 Visual Studio 2005 Tools for Office 方案。
-
加入必要條件:Microsoft Office 2003 主要 Interop 組件、Visual Studio 2005 Tools for Office Runtime 以及選用 Visual Studio 2005 Tools for Office 語言套件。
-
將自訂動作加入到安裝專案中,授與安全性信任給自訂組件。
-
將自訂動作加入到安裝專案,編輯內嵌在 Visual Studio 2005 Tools for Office 方案文件中的應用程式資訊清單。
-
將啟動條件加入到 .msi 檔中,以防使用者在沒有安裝必要條件的情況下執行 .msi 檔。
建立專案
在此步驟中,您會以 Visual C# 建立 Excel 活頁簿專案。
建立新專案
-
使用 Visual C# 建立 Excel 活頁簿專案,命名為 ExcelApplication。
-
確定選取了 [建立新文件]。
Visual Studio 會在設計工具中開啟新的 Excel 活頁簿,然後將 ExcelApplication 專案加入到 [方案總管] 中。
簽署組件
您將在本文稍後根據強式名稱和位置授與信任給自訂組件。不過,您必須先簽署組件。
簽署組件
-
在 [方案總管] 中,以滑鼠右鍵按一下 ExcelApplication 節點,然後按一下 [屬性]。
-
按一下 [簽署] 索引標籤。
-
選取 [簽署組件] 核取方塊。
-
在 [選擇強式名稱金鑰] 檔案清單中,按一下 [<新增. . .>]。
-
將 ExcelApplication 輸入 [金鑰檔名稱] 方塊。
-
將密碼輸入 [輸入密碼] 和 [確認密碼] 方塊。
-
按一下 [確定]。
-
關閉 [屬性] 頁面。
加入活頁簿背後運作的程式碼
在此步驟中,您會在活頁簿的 Microsoft.Office.Tools.Excel.Workbook.Startup 事件處理常式中加入訊息方塊。這可讓您確認開啟文件時,方案是否正常運作。
將訊息方塊加入到初始事件中
-
在 [方案總管] 中以滑鼠右鍵按一下 ThisWorkbook.cs,然後按一下 [檢視程式碼]。
-
將下列程式碼加入到 ThisWorkbook 類別中的 ThisWorkbook_Startup 事件處理常式,這可在初始化時顯示訊息方塊。
C#private void ThisWorkbook_Startup(object sender, System.EventArgs e) { MessageBox.Show("The document has been deployed successfully."); }
-
按 F5 執行專案。
Excel 隨即啟動並顯示訊息方塊。
-
關閉訊息方塊,然後結束 Excel。
建立安裝專案
在此步驟中,您會建立安裝專案,此專案可編譯來建立方案所需的 Windows Installer 檔。
建立方案所需的安裝專案
-
在 [方案總管] 中,以滑鼠右鍵按一下 [方案] 節點。
-
指向快速鍵功能表上的 [新增],然後按一下 [新增專案]。
[加入新的專案] 對話方塊隨即出現。
-
在 [專案類型] 窗格中展開 [其他專案] 類型,然後選取 [安裝和部署]。
-
在 [範本] 窗格中,選取 [安裝專案]。
-
將專案命名為 ExcelApplicationSetup。
-
按一下 [確定]。
安裝專案即會顯示在 [方案總管] 中。根據預設,使用安裝專案建置的 Windows Installer 檔包含對話方塊,可讓使用者指定安裝方案的位置。
將活頁簿和方案組件加入到安裝專案中
在此步驟中,您會將 ExcelApplication 專案的主要輸出加入到安裝專案中。ExcelApplication 專案的主要輸出包括活頁簿和方案組件。
將活頁簿和組件加入到安裝專案中
-
在 [方案總管] 中,以滑鼠右鍵按一下 ExcelApplicationSetup 節點。
-
指向快速鍵功能表上的 [檢視],然後按一下 [檔案系統]。
-
以滑鼠右鍵按一下左窗格中的 [應用程式資料夾]。
-
指向快速鍵功能表上的 [新增],然後按一下 [專案輸出]。
-
在 [專案] 方塊中,選取 ExcelApplication。
-
在輸出類型清單中,選取 [主要輸出]。
-
按一下 [確定]。
專案輸出和相依性會出現在右窗格中。
當您將專案的主要輸出加入到安裝專案時,Visual Studio 會偵測相依性。相依性可能會以列有不同 DLL 的清單顯示。接下來,您必須排除這些 DLL 相依性,因為這是屬於必要條件套件的一部分,您稍後會再將這些套件以相依性加入專案。
排除 DLL 相依性
-
在 [方案總管] 中,展開 ExcelApplicationSetup 節點底下的 [偵測到的相依性]。
-
以滑鼠右鍵按一下每個相依性 (Microsoft .NET Framework 除外),然後按一下 [排除]。
將必要條件加入到安裝專案中
此步驟會假設您已準備好開發環境。
使用者可以使用下列任一檔案啟動安裝程序:
-
Setup.exe
當 Setup.exe 執行時,啟動載入器會先執行。啟動載入器會檢查應用程式所需的必要條件清單,然後在必要時加以安裝。安裝好必要條件之後,.msi 檔就會執行,實際安裝應用程式。
重要事項:
使用者需要系統管理權限才能安裝這些必要條件。如果沒有權限,就必須使用其他部署方法,例如群組原則或系統管理軟體 (SMS)。
-
.msi 檔
當這個執行檔啟動時,啟動載入器不會執行,因此也不會安裝必要條件。不過,您可以加入啟動條件,以防在沒有特定必要條件的情況下安裝。
加入啟動載入器安裝的必要條件。您會在後面的步驟加入啟動條件。
加入必要條件
-
在 [方案總管] 中,以滑鼠右鍵按一下 ExcelApplicationSetup 節點。
-
按一下 [屬性]。
-
在 [屬性頁] 對話方塊中,按一下 [必要條件] 按鈕。
-
在必要條件清單中,選取 [Microsoft Office 2003 主要 Interop 組件 (Microsoft Office 2003 Primary Interop Assemblies)] 和 [Microsoft Visual Studio Tools for Office Runtime]。
-
如果有任何使用者在非英文設定的 Microsoft Windows 上執行方案,請選取 [Microsoft Visual Studio 2005 Tools for Office Runtime 語言套件]。
這些使用者必須有與 Windows 相同語言的 Visual Studio 2005 Tools for Office 語言套件,才看得到執行階段訊息。
-
按 [確定] 兩次。
加入授與信任給組件的自訂動作
在 Visual Studio 2005 Tools for Office 方案能夠執行之前,自訂組件必須先具備 FullTrust 權限。本文所附原始程式碼提供範例自訂動作,示範如何將權限授與安裝在使用者電腦上的組件。
將自訂動作專案加入到方案中
-
使用 Windows 檔案總管,將 SetSecurity 專案從 {SamplesDir}\projects 目錄複製到包含 ExcelApplication 方案的目錄。
提示:
根據預設,SamplesDir 目錄為 C:\Program Files\Microsoft Visual Studio 2005 Tools for Office Resources\VSTO2005 Windows Installer Sample
-
在 [方案總管] 中,以滑鼠右鍵按一下 ExcelApplication 節點。
-
指向快速鍵功能表上的 [新增],然後按一下 [現有專案]。
-
選取 SetSecurity 專案。
-
按一下 [確定]。
-
在 [方案總管] 中,以滑鼠右鍵按一下 SetSecurity 專案,然後按一下 [建置]。
-
將 SetSecurity 專案的主要輸出加入到安裝專案中。
這可讓 Windows Installer 檔執行自訂動作,編輯使用者電腦上的安全性原則。
將自訂動作專案的主要輸出加入到安裝專案中
-
在 [方案總管] 中,以滑鼠右鍵按一下 ExcelApplicationSetup 節點。
-
指向快速鍵功能表上的 [檢視],然後按一下 [自訂動作]。
-
在自訂動作編輯器中,以滑鼠右鍵按一下 [自訂動作] 節點,然後按一下 [加入自訂動作]。
-
在 [查詢] 清單中,按一下 [應用程式資料夾],然後按一下 [加入輸出]。
[加入專案輸出群組] 對話方塊隨即開啟。
-
按一下 [專案] 清單中的 SetSecurity。
-
在輸出類型清單中,選取 [主要輸出],然後按一下 [確定]。
-
確定 [SetSecurity 的主要輸出 (作用中) (Primary output from SetSecurity (Active))] 出現在安裝專案的主要輸出清單中,然後按一下 [確定]。
-
加入必要的自訂動作資料。
加入 Install 方法的自訂動作資料
-
在自訂動作編輯器中,展開 [Install]。
-
以滑鼠右鍵按一下 [SetSecurity 的主要輸出 (作用中) (Primary output from SetSecurity (Active))],然後按一下 [屬性視窗]。
-
在 [屬性] 視窗中,將 CustomActionData 屬性設為下列字串:
/assemblyName="ExcelApplication.dll" /targetDir="[TARGETDIR]\" /solutionCodeGroupName="MyCompanyName.ExcelApplication" /solutionCodeGroupDescription="Code group for ExcelApplication" /assemblyCodeGroupName="ExcelApplication" /assemblyCodeGroupDescription="Code group for ExcelApplication" /allUsers=[ALLUSERS]
加入 Rollback 方法的自訂動作資料
-
在自訂動作編輯器中,展開 [Rollback]。
-
以滑鼠右鍵按一下 [SetSecurity 的主要輸出 (作用中) (Primary output from SetSecurity (Active))],然後按一下 [屬性視窗]。
-
在 [屬性] 視窗中,將 CustomActionData 屬性設為下列字串:
/solutionCodeGroupName="MyCompanyName.ExcelApplication"
加入 Uninstall 方法的自訂動作資料
-
在自訂動作編輯器中,展開 [Uninstall]。
-
以滑鼠右鍵按一下 [SetSecurity 的主要輸出 (作用中) (Primary output from SetSecurity (Active))],然後按一下 [屬性視窗]。
-
在 [屬性] 視窗中,將 CustomActionData 屬性設為下列字串:
/solutionCodeGroupName="MyCompanyName.ExcelApplication"
|
雖然自訂動作未覆寫 Commit 方法,但基底 Windows Installer 類別會提供實作。因此,您仍必須呼叫該方法。不過,該方法不需要任何自訂動作資料。 |
加入更新組件位置的自訂動作
當您在前面按 F5 執行專案時,建置程序會編輯內嵌在活頁簿中的應用程式資訊清單,以指向組件的相對路徑。如果活頁簿和組件安裝後仍在同一資料夾中,就無須修改內嵌應用程式資訊清單,您可以略過本節。但是,如果要讓使用者在安裝後將活頁簿移至不同的資料夾,那麼就必須編輯應用程式資訊清單,以指向組件的完整路徑。這對 Excel 和 Word 範本專案來說尤為重要,因為從範本建立的活頁簿或文件所在的位置通常與範本不同。
您可以使用現成的範例自訂動作。將這個自訂動作加入到安裝專案中。
將自訂動作專案加入到方案中
-
使用 Windows 檔案總管,將 UpdateManifest 專案從 {SamplesDir}\projects 目錄複製到包含 ExcelApplication 方案的目錄。
-
在 [方案總管] 中,以滑鼠右鍵按一下 ExcelApplication 節點。
-
指向快速鍵功能表上的 [新增],然後按一下 [現有專案]。
-
選取 UpdateManifest 專案。
-
按一下 [確定]。
-
在 [方案總管] 中,以滑鼠右鍵按一下 UpdateManifest 專案,然後按一下 [建置]。
-
將 UpdateManifest 專案的主要輸出加入到安裝專案中。
這可讓 Windows Installer 檔執行自訂動作,編輯應用程式資訊清單。
將自訂動作專案的主要輸出加入到安裝專案中
-
在 [方案總管] 中,以滑鼠右鍵按一下 ExcelApplicationSetup 節點。
-
指向快速鍵功能表上的 [檢視],然後按一下 [自訂動作]。
-
在自訂動作編輯器中,以滑鼠右鍵按一下 [自訂動作] 節點,然後按一下 [加入自訂動作]。
-
在 [查詢] 清單中,按一下 [應用程式資料夾],然後按一下 [加入輸出]。
[加入專案輸出群組] 對話方塊隨即開啟。
-
按一下 [專案] 清單中的 UpdateManifest。
-
在輸出類型清單中,選取 [主要輸出],然後按一下 [確定]。
-
確定 [UpdateManifest 的主要輸出 (作用中) (Primary output from UpdateManifest (Active))] 出現在安裝專案的主要輸出清單中,然後按一下 [確定]。
-
加入必要的自訂動作資料。
|
雖然自訂動作未覆寫 Commit、Rollback 和 Uninstall 方法,但基底 Windows Installer 類別會提供實作。因此,您仍必須呼叫這些方法。不過,這些方法不需要任何自訂動作資料。 |
加入 Install 方法的自訂動作資料
-
在自訂動作編輯器中,展開 [Install]。
-
以滑鼠右鍵按一下 [UpdateManifest 的主要輸出 (作用中) (Primary output from UpdateManifest (Active))],然後按一下 [屬性視窗]。
-
在 [屬性] 視窗中,將 CustomActionData 屬性設為下列字串:
/targetDir="[TARGETDIR]/" /documentName="ExcelApplication.xls" /assemblyName="ExcelApplication.dll"
將啟動條件加入 .msi 檔
如前所述,當使用者執行 Setup.exe 時,Windows Installer 會檢查必要條件並視需要加以安裝。此外,使用者也可以按兩下 .msi 檔執行方案。在此情況下,就不會安裝必要條件,而方案也無法執行。在其他情況下,安裝也有可能因為沒有所需的資源而失敗,例如,自訂動作可能需要 .NET Framework。
本節說明如何使用啟動條件編輯器,將啟動條件加入 .msi 檔,以防在沒有安裝特定相依性的情況下進行安裝。
檢視啟動條件編輯器
-
在 [方案總管] 中,以滑鼠右鍵按一下 ExcelApplicationSetup 節點。
-
指向快速鍵功能表上的 [檢視],然後按一下 [啟動條件]。
-
加入 Visual Studio 2005 Tools for Office Runtime 的啟動條件。
加入 Visual Studio 2005 Tools for Office Runtime 的啟動條件
-
在啟動條件編輯器中,以滑鼠右鍵按一下 [目標電腦上的需求],然後按一下 [加入 Windows Installer 啟動條件]。
-
選取新加入的搜尋條件 Search for Component1。
-
將搜尋條件重新命名為 Search for VSTO Runtime。
-
在 [屬性] 視窗中,將 {D2AC2FF1-6F93-40D1-8C0F-0E135956A2DA} 輸入 ComponentId 屬性。
-
將 [屬性] 的值變更為 COMPONENTEXISTS_VSTOR。
-
選取新加入的啟動條件 (Condition1),重新命名為 Display message if the Visual Studio 2005 Tools for Office Runtime is not installed。
-
在 [屬性] 視窗中,將 Condition 屬性的值變更為 COMPONENTEXISTS_VSTOR。
-
InstallURL 屬性保留空白。
-
將 Message 屬性的值變更為 The Visual Studio 2005 Tools for Office Runtime is not installed.Please run Setup.exe。
如果有任何使用者在非英文設定的 Windows 上執行方案,則需要有 Visual Studio 2005 Tools for Office 語言套件,才能以 Windows 的語言檢視執行階段訊息。加入檢查語言套件的啟動條件。
加入 Visual Studio 2005 Tools for Office 語言套件的啟動條件
-
在啟動條件編輯器中,以滑鼠右鍵按一下 [目標電腦上的需求],然後按一下 [加入 Windows Installer 啟動條件]。
-
選取新加入的搜尋條件 Search for Component1。
-
將搜尋條件重新命名為 Search for VSTO Language Pack。
-
在 [屬性] 視窗中,將 {2E3A394E-C9BD-40C3-9990-BA7AF7C8B4AF} 輸入 ComponentId 屬性。
-
將 [屬性] 的值變更為 COMPONENTEXISTS_VSTOLP。
-
如果未安裝 Visual Studio 2005 Tools for Office 語言套件,選取新加入的啟動條件 (Condition 1),重新命名為 Display message。
-
在 [屬性] 視窗中,將 Condition 屬性的值變更為 COMPONENTEXISTS_VSTOLP。
-
InstallURL 屬性保留空白。
-
將 Message 屬性的值變更為 The Visual Studio 2005 Tools for Office Language Pack is not installed.Please run Setup.exe。
-
遵循同樣的指示,加入 Excel、Outlook、Word 和智慧標籤主要 Interop 組件的啟動條件。
|
在實務上,您的方案可能需要一組不同的主要 Interop 組件。例如,在此逐步解說中部署的 Excel 方案就只需要 Excel 2003 主要 Interop 組件。您可以修改下列指示,視需要加入或移除個別主要 Interop 組件的檢查。 |
當您建立 Visual Studio 2005 Tools for Office Runtime 和 Visual Studio 2005 Tools for Office 語言套件的啟動條件時,必須以滑鼠右鍵按一下 [目標電腦上的需求] 節點。這會同時建立搜尋條件和對應的啟動條件。
若要建立啟動條件來搜尋四種主要 Interop 組件,您必須建立四個搜尋條件 (每種主要 Interop 組件各一個),然後再建立一個啟動條件,以邏輯方式結合這四個搜尋條件。
加入 Excel 2003 主要 Interop 組件的搜尋條件
-
在啟動條件編輯器中,以滑鼠右鍵按一下 [搜尋目標電腦],然後選取 [加入 Windows Installer 搜尋]。
-
選取新加入的搜尋條件 Search for Component1。
-
將搜尋條件重新命名為 Search for Excel 2003 PIA。
-
在 [屬性] 視窗中,將 {A1FE0698-609D-400F-BF10-F52238DD6475} 輸入 ComponentId 屬性。
-
在 [屬性] 視窗中,將 [屬性] 的值變更為 COMPONENTEXISTS_EXCEL_PIA。
加入 Outlook 2003 主要 Interop 組件的搜尋條件
-
在啟動條件編輯器中,以滑鼠右鍵按一下 [搜尋目標電腦],然後選取 [加入 Windows Installer 搜尋]。
-
選取新加入的搜尋條件 Search for Component1。
-
將搜尋條件重新命名為 Search for Outlook 2003 PIA。
-
在 [屬性] 視窗中,將 {14D3E42A-A318-4D77-9895-A7EE585EFC3B} 輸入 ComponentId 屬性。
-
將 [屬性] 的值變更為 COMPONENTEXISTS_OUTLOOK_PIA。
加入 Word 2003 主要 Interop 組件的搜尋條件
-
在啟動條件編輯器中,以滑鼠右鍵按一下 [搜尋目標電腦],然後選取 [加入 Windows Installer 搜尋]。
-
選取新加入的搜尋條件 Search for Component1。
-
將搜尋條件重新命名為 Search for Word 2003 PIA。
-
在 [屬性] 視窗中,將 {1C8772BD-6E6F-4C9D-8FF8-B5EA072F86EF} 輸入 ComponentId 屬性。
-
將 [屬性] 的值變更為 COMPONENTEXISTS_WORD_PIA。
加入智慧標籤主要 Interop 組件的搜尋條件
-
在啟動條件編輯器中,以滑鼠右鍵按一下 [搜尋目標電腦],然後選取 [加入 Windows Installer 搜尋]。
-
選取新加入的搜尋條件 Search for Component1。
-
將搜尋條件重新命名為 Search for Smart Tag PIA。
-
在 [屬性] 視窗中,將 {53C65973-D89D-4EA0-8567-8788C14E0A02} 輸入 ComponentId 屬性。
-
將 [屬性] 的值變更為 COMPONENTEXISTS_SMART_TAG_PIA。
建立主要 Interop 組件的啟動條件
-
在啟動條件編輯器中,以滑鼠右鍵按一下 [啟動條件],然後選取 [加入啟動條件]。
-
選取新加入的啟動條件 (Condition1)。
-
重新命名為 Display message if the Primary Interop Assemblies are not installed。
-
在 [屬性] 視窗中,將 Condition 屬性的值變更為 COMPONENTEXISTS_EXCEL_PIA AND COMPONENTEXISTS_OUTLOOK_PIA AND COMPONENTEXISTS_WORD_PIA AND COMPONENTEXISTS_SMART_TAG_PIA。
-
在 [屬性] 視窗中,將 InstallURL 屬性保留空白。
-
將 Message 屬性的值變更為 The Office 2003 Primary Interop Assemblies have not been installed Please run setup.exe。
測試安裝
若要測試 Windows Installer,您必須在開發電腦以外的電腦上執行,因為開發電腦已經安裝了許多必要條件。執行 Setup.exe 檔即可測試啟動載入器,但首先要建置安裝專案。
建置專案
-
在 [方案總管] 中,以滑鼠右鍵按一下 ExcelApplicationSetup 專案,然後按一下 [建置]。
逐步說:強化 Outlook 增益集安裝專案
本節說明如何強化建立 Outlook 增益集專案時所建立的安裝專案。您將學會如何:
-
修改安裝專案,以便安裝必要條件:Visual Studio 2005 Tools for Office Runtime、(選用) Visual Studio 2005 Tools for Office 語言套件,以及 Office 主要 Interop 組件。
-
將步驟加入到安裝專案中,以授與安全性信任給自訂組件。
-
將啟動條件加入到 .msi 檔中,以防在沒有安裝必要條件的情況下進行安裝。
建立專案
在此步驟中,您會以 Visual C# 建立 Outlook 增益集。
建立新專案
-
使用 Visual C# 建立 Outlook 增益集專案,命名為 OutlookAddin。
-
確定選取了 [建立新文件]。
Visual Studio 會在設計工具中開啟新的 Outlook 增益集,然後將 OutlookAddin 專案加入到 [方案總管] 中。
簽署組件
您將在本文稍後根據強式名稱和位置授與信任給自訂組件。不過,您必須先簽署組件。
簽署組件
-
在 [方案總管] 中,以滑鼠右鍵按一下 OutlookAddin 節點,然後按一下 [屬性]。
-
按一下 [簽署] 索引標籤。
-
選取 [簽署組件] 核取方塊。
-
在 [選擇強式名稱金鑰] 檔案清單中,按一下 [<新增. . .>]。
-
將名稱 OutlookAddin 輸入 [金鑰檔名稱] 方塊。
-
將密碼輸入 [輸入密碼] 和 [確認密碼] 方塊。
-
按一下 [確定]。
-
關閉 [屬性] 頁面。
將程式碼加入到增益集中
在此步驟中,您會在 Outlook 增益集的 Microsoft.Office.Tools.Outlook.Application.Startup 事件處理常式中加入訊息方塊。這可讓您確認啟動 Outlook 時,方案是否正常運作。
將訊息方塊加入到初始事件中
-
在 [方案總管] 中以滑鼠右鍵按一下 ThisApplication.cs,然後按一下 [檢視程式碼]。
-
將下列程式碼加入到 ThisApplication 類別中的 ThisApplication_Startup 事件處理常式,這可在初始化時顯示訊息方塊。
C#private void ThisApplication_Startup(object sender, System.EventArgs e) { MessageBox.Show( "The Outlook add-in has been deployed successfully."); }
-
按 F5 執行專案。
Outlook 隨即啟動並顯示訊息方塊。
-
關閉訊息方塊。
-
結束 Outlook。
將必要條件加入到安裝專案中
此步驟會假設您已準備好開發環境。
加入啟動載入器安裝的必要條件。您會在後面的步驟加入啟動條件。
加入必要條件
-
在 [方案總管] 中,以滑鼠右鍵按一下 OutlookAddinSetup 節點,然後按一下 [屬性]。
-
在 [屬性頁] 對話方塊中,按一下 [必要條件] 按鈕。
-
在必要條件清單中,選取 [Microsoft Office 2003 主要 Interop 組件 (Microsoft Office 2003 Primary Interop Assemblies)] 和 [Microsoft Visual Studio 2005 Tools for Office Runtime]。
-
如果有任何使用者在非英文設定的 Microsoft Windows 上執行方案,請選取 [Microsoft Visual Studio 2005 Tools for Office Runtime 語言套件]。這些使用者必須有與 Windows 相同語言的 Visual Studio 2005 Tools for Office 語言套件,才看得到執行階段訊息。
-
按 [確定] 兩次。
加入授與信任給組件的自訂動作
使用所附的自訂動作範例,將信任授與自訂組件。
加入所附專案
-
使用 Windows 檔案總管,將 SetSecurity 專案從 {SamplesDir}\projects 目錄複製到包含 OutlookAddin 方案的目錄。
提示:
根據預設,SamplesDir 目錄為 C:\Program Files\Microsoft Visual Studio 2005 Tools for Office Resources\VSTO2005 Windows Installer Sample
-
在 [方案總管] 中,以滑鼠右鍵按一下 OutlookAddin 節點。
-
指向快速鍵功能表上的 [新增],然後按一下 [現有專案]。
-
選取 SetSecurity 專案。
-
按一下 [確定]。
-
在 [方案總管] 中,以滑鼠右鍵按一下 SetSecurity 專案,然後按一下 [建置]。
-
將 SetSecurity 專案的主要輸出加入到安裝專案中。
這可讓 Windows Installer 檔執行自訂動作,編輯應用程式資訊清單。
將自訂動作專案的主要輸出加入到安裝專案中
-
在 [方案總管] 中,以滑鼠右鍵按一下 OutlookAddinSetup 節點。
-
指向快速鍵功能表上的 [檢視],然後按一下 [自訂動作]。
-
在自訂動作編輯器中,以滑鼠右鍵按一下 [自訂動作] 節點,然後按一下 [加入自訂動作]。
-
在 [查詢] 清單中,按一下 [應用程式資料夾],然後按一下 [加入輸出]。
[加入專案輸出群組] 對話方塊隨即開啟。
-
按一下 [專案] 清單中的 SetSecurity。
-
在輸出類型清單中,選取 [主要輸出],然後按一下 [確定]。
-
確定 [SetSecurity 的主要輸出 (作用中) (Primary output from SetSecurity (Active))] 已加入到安裝專案的主要輸出清單中,然後按一下 [確定]。
-
加入必要的自訂動作資料。
加入 Install 方法的自訂動作資料
-
在自訂動作編輯器中,展開 [Install]。
-
以滑鼠右鍵按一下 [SetSecurity 的主要輸出 (作用中) (Primary output from SetSecurity (Active))],然後按一下 [屬性視窗]。
-
在 [屬性] 視窗中,將 CustomActionData 屬性設為下列字串:
/assemblyName="OutlookAddin.dll" /targetDir="[TARGETDIR]\" /solutionCodeGroupName="MyCompanyName.OutlookAddin" /solutionCodeGroupDescription="Code group for OutlookAddin" /assemblyCodeGroupName="OutlookAddin" /assemblyCodeGroupDescription="Code group for OutlookAddin" /allUsers=[ALLUSERS]
加入 Rollback 方法的自訂動作資料
-
在自訂動作編輯器中,展開 [Rollback]。
-
以滑鼠右鍵按一下 [SetSecurity 的主要輸出 (作用中) (Primary output from SetSecurity (Active))],然後按一下 [屬性視窗]。
-
在 [屬性] 視窗中,將 CustomActionData 屬性設為下列字串:
/solutionCodeGroupName="MyCompanyName.OutlookAddin"
加入 Uninstall 方法的自訂動作資料
-
在自訂動作編輯器中,展開 [Uninstall]。
-
以滑鼠右鍵按一下 [SetSecurity 的主要輸出 (作用中) (Primary output from SetSecurity (Active))],然後按一下 [屬性視窗]。
-
在 [屬性] 視窗中,將 CustomActionData 屬性設為下列字串:
/solutionCodeGroupName="MyCompanyName.OutlookAddin"
|
雖然自訂動作未覆寫 Commit 方法,但基底 Windows Installer 類別會提供實作。因此,您仍必須呼叫該方法。不過,該方法不需要任何自訂動作資料。 |
將啟動條件加入 .msi 檔
如前所述,當使用者執行 Setup.exe 時,Windows Installer 會檢查必要條件並視需要加以安裝。此外,使用者也可以按兩下 .msi 檔執行方案。在此情況下,就不會安裝必要條件,而方案也無法執行。在其他情況下,安裝也有可能因為沒有所需的資源而失敗,例如,自訂動作可能需要 .NET Framework。
本節說明如何使用啟動條件編輯器,將啟動條件加入 .msi 檔,以防在沒有安裝特定相依性的情況下進行安裝。
檢視啟動條件編輯器
-
在 [方案總管] 中,以滑鼠右鍵按一下 OutlookAddinSetup 節點。
-
指向快速鍵功能表上的 [檢視],然後按一下 [啟動條件]。
加入 Visual Studio 2005 Tools for Office Runtime 的啟動條件。
加入 Visual Studio 2005 Tools for Office Runtime 的啟動條件
-
在啟動條件編輯器中,以滑鼠右鍵按一下 [目標電腦上的需求],然後按一下 [加入 Windows Installer 啟動條件]。
-
選取新加入的搜尋條件 Search for Component1。
-
將搜尋條件重新命名為 Search for VSTO Runtime。
-
在 [屬性] 視窗中,將 {D2AC2FF1-6F93-40D1-8C0F-0E135956A2DA} 輸入 ComponentId 屬性。
-
將 [屬性] 的值變更為 COMPONENTEXISTS_VSTOR。
-
選取新加入的啟動條件 (Condition1)。
-
重新命名為 Display message, if the Visual Studio 2005 Tools for Office Runtime is not installed。
-
在 [屬性] 視窗中,將 Condition 屬性的值變更為 COMPONENTEXISTS_VSTOR。
-
InstallURL 屬性保留空白。
-
將 Message 屬性的值變更為 The Visual Studio 2005 Tools for Office Runtime is not installed.Please run Setup.exe。
如果有任何使用者在非英文設定的 Windows 上執行方案,則需要有 Visual Studio 2005 Tools for Office 語言套件,才能以 Windows 的語言檢視執行階段訊息。加入檢查語言套件的啟動條件。
加入 Visual Studio 2005 Tools for Office 語言套件的啟動條件
-
在啟動條件編輯器中,以滑鼠右鍵按一下 [目標電腦上的需求],然後按一下 [加入 Windows Installer 啟動條件]。
-
選取新加入的搜尋條件 Search for Component1。
-
將搜尋條件重新命名為 Search for VSTO Language Pack。
-
在 [屬性] 視窗中,將 {2E3A394E-C9BD-40C3-9990-BA7AF7C8B4AF} 輸入 ComponentId 屬性。
-
將 [屬性] 的值變更為 COMPONENTEXISTS_VSTOLP。
-
選取新加入的啟動條件 (Condition1)。
-
重新命名為 Display message if the Visual Studio 2005 Tools for Office Language Pack is not installed。
-
在 [屬性] 視窗中,將 Condition 屬性的值變更為 COMPONENTEXISTS_VSTOLP。
-
InstallURL 屬性保留空白。
-
將 Message 屬性的值變更為 The Visual Studio 2005 Tools for Office Language Pack is not installed.Please run Setup.exe。
遵循同樣的指示,加入 Excel、Outlook、Word 和智慧標籤主要 Interop 組件的啟動條件。
|
在實務上,您的方案可能需要一組不同的主要 Interop 組件。例如,在此逐步解說中部署的 Outlook 方案只需要 Outlook 2003 主要 Interop 組件。您可以修改下列指示,視需要加入或移除個別主要 Interop 組件的檢查。 |
當您建立 Visual Studio 2005 Tools for Office Runtime 和 Visual Studio 2005 Tools for Office 語言套件的啟動條件時,必須以滑鼠右鍵按一下 [目標電腦上的需求] 節點。這會同時建立搜尋條件和對應的啟動條件。
若要建立啟動條件來搜尋四種主要 Interop 組件,您必須建立四個搜尋條件 (每種主要 Interop 組件各一個),然後再建立一個啟動條件,以邏輯方式結合這四個搜尋條件。
加入 Excel 2003 主要 Interop 組件的搜尋條件
-
在啟動條件編輯器中,以滑鼠右鍵按一下 [搜尋目標電腦],然後選取 [加入 Windows Installer 搜尋]。
-
選取新加入的搜尋條件 Search for Component1。
-
將搜尋條件重新命名為 Search for Excel 2003 PIA。
-
在 [屬性] 視窗中,將 {A1FE0698-609D-400F-BF10-F52238DD6475} 輸入 ComponentId 屬性。
-
在 [屬性] 視窗中,將 [屬性] 的值變更為 COMPONENTEXISTS_EXCEL_PIA。
加入 Outlook 2003 主要 Interop 組件的搜尋條件
-
在啟動條件編輯器中,以滑鼠右鍵按一下 [搜尋目標電腦],然後選取 [加入 Windows Installer 搜尋]。
-
選取新加入的搜尋條件 Search for Component1。
-
將搜尋條件重新命名為 Search for Outlook 2003 PIA。
-
在 [屬性] 視窗中,將 {14D3E42A-A318-4D77-9895-A7EE585EFC3B} 輸入 ComponentId 屬性。
-
將 [屬性] 的值變更為 COMPONENTEXISTS_OUTLOOK_PIA。
加入 Word 2003 主要 Interop 組件的搜尋條件
-
在啟動條件編輯器中,以滑鼠右鍵按一下 [搜尋目標電腦],然後選取 [加入 Windows Installer 搜尋]。
-
選取新加入的搜尋條件 Search for Component1。
-
將搜尋條件重新命名為 Search for Word 2003 PIA。
-
在 [屬性] 視窗中,將 {1C8772BD-6E6F-4C9D-8FF8-B5EA072F86EF} 輸入 ComponentId 屬性。
-
將 [屬性] 的值變更為 COMPONENTEXISTS_WORD_PIA。
加入智慧標籤主要 Interop 組件的搜尋條件
-
在啟動條件編輯器中,以滑鼠右鍵按一下 [搜尋目標電腦],然後選取 [加入 Windows Installer 搜尋]。
-
選取新加入的搜尋條件 Search for Component1。
-
將搜尋條件重新命名為 Search for Smart Tag PIA。
-
在 [屬性] 視窗中,將 {53C65973-D89D-4EA0-8567-8788C14E0A02} 輸入 ComponentId 屬性。
-
將 [屬性] 的值變更為 COMPONENTEXISTS_SMART_TAG_PIA。
建立主要 Interop 組件的啟動條件
-
在啟動條件編輯器中,以滑鼠右鍵按一下 [啟動條件],然後選取 [加入啟動條件]。
-
選取新加入的啟動條件 (Condition1)。
-
重新命名為 Display message if the Primary Interop Assemblies are not installed。
-
在 [屬性] 視窗中,將 Condition 屬性的值變更為 COMPONENTEXISTS_EXCEL_PIA AND COMPONENTEXISTS_OUTLOOK_PIA AND COMPONENTEXISTS_WORD_PIA AND COMPONENTEXISTS_SMART_TAG_PIA。
-
在 [屬性] 視窗中,將 InstallURL 屬性保留空白。
-
將 Message 屬性的值變更為 The Office 2003 Primary Interop Assemblies have not been installed Please run setup.exe。
測試安裝
若要測試 Windows Installer,您必須在開發電腦以外的電腦上執行,因為開發電腦已經安裝了許多必要條件。請記得執行 Setup.exe 檔來測試啟動載入器。請記得要先建置安裝專案。
建置安裝程式
-
在 [方案總管] 中,以滑鼠右鍵按一下 OutlookAddinSetup 專案,然後按一下 [建置]。
結論
本文示範了如何使用 Visual Studio 安裝專案建立 Windows Installer 套件,以部署 Visual Studio 2005 Tools for Office 方案。文中的逐步解說則示範了如何安裝必要條件、將信任授與自訂組件,以及更新文件的自訂組件位置。
如需部署程序的概觀,請參閱使用 Windows Installer 部署 Visual Studio 2005 Tools for Office 方案 (二之一)。
浙公网安备 33010602011771号