如果您使用 ClickOnce,則可以以較少的步驟部署 Office 解決方案。 如果您發佈更新,您的解決方案會自動偵測並安裝它們。 不過,ClickOnce 會要求您針對電腦的每個使用者個別安裝解決方案。 因此,如果多個使用者將在同一部電腦上執行您的解決方案,您應該考慮使用 Windows Installer (.msi)。
本主題內容
-
如需如何透過建立 Windows Installer 檔案來部署 Office 解決方案的詳細資訊,請參閱 使用 Windows Installer 部署 Office 解決方案。
發佈解決方案
您可以使用 [發佈精靈 ] 或 [專案設計工具] 來發佈解決方案。 在此程式中,您將使用 專案設計工具 ,因為它提供完整的發佈選項集。 請參閱發佈精靈 (Visual Studio 中的 Office 開發)。
發佈解決方案
在 [方案總管] 中,選擇為您的專案命名的節點。
在功能表列上,選擇 [專案]、[ 專案名稱屬性]。
在 [專案設計工具] 中,選擇 [發佈] 索引標籤,如下圖所示。
在 [發佈資料夾位置 (ftp 伺服器或檔案路徑) ] 方塊中,輸入您要專案 設計工具 複製解決方案檔案的資料夾路徑。
您可以輸入下列任何類型的路徑。
本機路徑 (例如, C:\FolderName\FolderName)。
網路上資料夾的統一命名慣例 (UNC) 路徑 (例如 \\ServerName\FolderName)。
相對路徑 (例如, PublishFolder\,這是預設將專案發佈到的資料夾)。
在 [安裝資料夾 URL ] 方塊中,輸入使用者將找到解決方案的位置的完整路徑。
如果您還不知道位置,請不要在此欄位中輸入任何內容。 根據預設,ClickOnce 會在使用者安裝解決方案的資料夾中尋找更新。
選擇 Prerequisites (先決條件 ) 按鈕。
在 [ 先決條件 ] 對話方塊中,確定已選取 [ 建立安裝程式以安裝先決條件元件 ] 核取方塊。
在 [ 選擇要安裝的必要條件 ] 清單中,選取 Windows Installer 4.5 和適當 .NET Framework 套件的核取方塊。
例如,如果您的解決方案以 .NET Framework 4.5 為目標,請選取 Windows Installer 4.5 和 Microsoft .NET Framework 4.5 完整版的複選框。
如果您的解決方案以 .NET Framework 4.5 為目標,請同時選取 [Visual Studio 2010 Tools for Office Runtime ] 核取方塊。
備註
根據預設,此核取方塊不會出現。 若要顯示此核取方塊,您必須建立引導程式套件。 請參閱 使用 Visual Studio 2012 建立 Office 2013 VSTO 增益集的啟動載入器套件。
在 [指定必要條件的安裝位置] 底下,選擇其中一個出現的選項,然後選擇 [ 確定 ] 按鈕。
下表會說明每個選項。
Option Description 從元件廠商的網站下載必要條件 系統會提示使用者從廠商下載並安裝這些必要條件。 從與我的應用程式相同的位置下載必要條件 必要軟體會隨解決方案一起安裝。 如果您選擇此選項,Visual Studio 會自動將所有必要條件套件複製到發佈位置中。 若要讓此選項運作,必要條件套件必須位於開發電腦上。 從下列位置下載必要條件 Visual Studio 會將所有必要條件套件複製到您指定的位置,並與解決方案一起安裝它們。 請參閱 [先決條件] 對話方塊。
選擇 [更新] 按鈕,指定您要讓每個使用者的 VSTO 增益集或自訂檢查更新的頻率,然後選擇 [ 確定 ] 按鈕。
備註
如果您使用 CD 或抽取式磁碟機進行部署,請選擇 [從不檢查更新 ] 選項按鈕。
如需如何發佈更新的資訊,請參閱 發佈更新。
選擇 [選項] 按鈕,檢閱 [選項] 對話方塊中的選項,然後選擇 [ 確定 ] 按鈕。
選擇 [立即發佈 ] 按鈕。
Visual Studio 會將下列資料夾和檔案新增至您稍早在此程序中指定的發佈資料夾。
應用程式 檔案 資料夾。
設置程序。
指向最新版本部署資訊清單的部署資訊清單。
「應用程式檔案」資料夾包含您發佈之每個版本的子資料夾。 每個版本特定的子資料夾都包含下列檔案。
應用程式資訊清單。
部署資訊清單。
客製化組件。
下圖顯示 Outlook VSTO 增益集的發佈資料夾結構。
備註
ClickOnce 會將 .deploy 副檔名附加至元件,讓 Internet Information Services (IIS) 的安全安裝不會因為不安全的副檔名而封鎖檔案。 當使用者安裝解決方案時,ClickOnce 會移除副檔名 .deploy 。
將解決方案檔案複製到您稍早在此程序中指定的安裝位置。
決定您要如何授與解決方案的信任
在解決方案可以在使用者電腦上執行之前,您必須授與信任,或使用者必須在安裝解決方案時回應信任提示。 若要對解決方案授予信任,請使用能識別已知且受信任發行者的憑證來簽署清單。 請參閱 簽署應用程式和部署資訊清單來信任解決方案。
如果您要部署文件層級自訂,而且想要將文件放入使用者電腦上的資料夾中,或讓文件在 SharePoint 網站上可用,請確定 Office 信任文件的位置。 請參閱 授與信任文件。
協助使用者安裝解決方案
使用者可以透過執行安裝程式、開啟部署資訊清單或在文件層級自訂期間直接開啟文件來安裝解決方案。 最佳做法是,使用者應該使用安裝程式來安裝您的解決方案。 其他兩種方法無法確保已安裝必要軟體。 如果使用者想要從安裝位置開啟文件,則必須將它新增至 Office 應用程式信任中心中的信任位置清單。
開啟文件層級自訂項目中的文件
使用者可以直接從安裝位置開啟文件層級自訂的文件,或將文件複製到本機電腦,然後開啟副本。
最佳做法是,使用者應該在電腦上開啟文件的副本,這樣多個使用者就不會嘗試同時開啟相同的副本。 若要強制執行此做法,您可以設定安裝程式,將文件複製到使用者電腦。 請參閱將解決方案的文件放在使用者的電腦上 (僅限文件層級自訂)。
從 IIS 網站開啟部署資訊清單來安裝解決方案
使用者可以從 Web 開啟部署資訊清單來安裝 Office 解決方案。 不過,網際網路資訊服務 (IIS) 的安全安裝會封鎖副檔名為 .vsto 的檔案。 您必須先在 IIS 中定義 MIME 類型,才能使用 IIS 部署 Office 解決方案。
將 .vsto MIME 類型新增至 IIS 6.0
在執行 IIS 6.0 的伺服器上,選擇 [啟動>所有程式>] [系統管理工具] [>因特網資訊服務 (IIS) 管理員]。
選擇電腦名稱、[ 網站] 資料夾或您要設定的網站。
在功能表列上,選擇 Action Properties (動作>屬性)。
在 HTTP 標頭 索引標籤上,選擇 MIME 類型 按鈕。
在 MIME 類型 視窗中,選擇 新增 按鈕。
在 [MIME 類型 ] 視窗中,輸入 .vsto 作為副檔名,輸入 application/x-ms-vsto 作為 MIME 類型,然後套用新設定。
備註
若要讓變更生效,您必須重新啟動 World Wide Web Publishing Service,或等候工作進程回收。 然後,您必須刷新瀏覽器的磁盤緩存,然後嘗試再次打開 .vsto 文件。
將 .vsto MIME 類型新增至 IIS 7.0
在執行 IIS 7.0 的伺服器上,選擇 [ 啟動>所有程式>] [配件]。
開啟 [命令提示字元] 的捷徑功能表,然後選擇 [以系統管理員身分執行]。
在 [ 開啟 ] 方塊中,輸入下列路徑,然後選擇 [ 確定 ] 按鈕。
%windir%\system32\inetsrv輸入下列命令,然後套用新的設定。
set config /section:staticContent /+[fileExtension='.vsto',mimeType='application/x-ms-vsto']備註
若要讓變更生效,您必須重新啟動 World Wide Web Publishing Service,或必須等候工作程序回收。 然後,您必須刷新瀏覽器的磁盤緩存,然後嘗試再次打開 .vsto 文件。
將解決方案的文件放在使用者的電腦上 (僅限文件層級自訂)
您可以建立部署後動作,將解決方案的文件複製到使用者的電腦上。 如此一來,使用者就不需要在安裝解決方案之後,手動將文件從安裝位置複製到他們的電腦。 您必須建立類別來定義部署後動作、建置和發佈解決方案、修改應用程式資訊清單,以及重新簽署應用程式和部署資訊清單。
下列程序假設您的專案名稱是 ExcelWorkbook ,而且您會將解決方案發佈到電腦上名為 C:\publish 的已建立資料夾中。
建立定義部署後動作的類別
在功能表列上,選擇 檔案>,新增>,新專案。
在 [ 新增專案 ] 對話方塊的 [ 已安裝範本] 窗格中,選擇 [Windows 資料夾]。
在 [範本 ] 窗格中,選擇 [ 類別程式庫 ] 範本。
在 [名稱 ] 欄位中,輸入 FileCopyPDA,然後選擇 [ 確定 ] 按鈕。
在 [方案總管] 中,選擇 FileCopyPDA 專案。
在功能表列上,選擇 [專案>新增參考]。
在 .NET 索引標籤上,新增
Microsoft.VisualStudio.Tools.Applications.Runtime和Microsoft.VisualStudio.Tools.Applications.ServerDocument的參考。將類別重新命名為
FileCopyPDA,然後將檔案的內容取代為程式碼。 此程式碼會執行下列工作:將文件複製到使用者的桌面。
將 _AssemblyLocation 屬性從相對路徑變更為部署資訊清單的絕對路徑。
如果使用者解除安裝解決方案,則刪除檔案。
using Microsoft.VisualStudio.Tools.Applications.Deployment; using Microsoft.VisualStudio.Tools.Applications; using System.IO; namespace FileCopyPDA { public class FileCopyPDA : IAddInPostDeploymentAction { public void Execute(AddInPostDeploymentActionArgs args) { string dataDirectory = @"Data\ExcelWorkbook.xlsx"; string file = @"ExcelWorkbook.xlsx"; string sourcePath = args.AddInPath; Uri deploymentManifestUri = args.ManifestLocation; string destPath = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); string sourceFile = System.IO.Path.Combine(sourcePath, dataDirectory); string destFile = System.IO.Path.Combine(destPath, file); switch (args.InstallationStatus) { case AddInInstallationStatus.InitialInstall: case AddInInstallationStatus.Update: File.Copy(sourceFile, destFile); ServerDocument.RemoveCustomization(destFile); ServerDocument.AddCustomization(destFile, deploymentManifestUri); break; case AddInInstallationStatus.Uninstall: if (File.Exists(destFile)) { File.Delete(destFile); } break; } } } }
建置和發佈解決方案
在 [方案總管] 中,開啟 FileCopyPDA 專案的快捷功能表,然後選擇 [建置]。
開啟 ExcelWorkbook 專案的捷徑功能表,然後選擇 [建置]。
開啟 ExcelWorkbook 專案的捷徑功能表,然後選擇 [新增參考]。
在 Add Reference (新增參考 ) 對話方塊中,選擇 Projects (專案 ) 索引標籤,選擇 File(檔案)CopyPDA,然後選擇 OK (確定 ) 按鈕。
在 [方案總管] 中,選擇 ExcelWorkbook 專案。
在功能表列上,選擇 Project>New Folder。
輸入 資料,然後選擇 Enter 鍵。
在 [方案總管] 中,選擇 [ 資料 ] 資料夾。
在功能表列上,選擇 [專案>新增現有項目]。
在 [ 新增現有項目 ] 對話方塊中,瀏覽至 ExcelWorkbook 專案的輸出目錄,選擇 ExcelWorkbook.xlsx 檔案,然後選擇 [ 新增 ] 按鈕。
在 [方案總管] 中,選擇 ExcelWorkbook.xlsx 檔案。
在 [屬性] 視窗中,將 [建置動作] 屬性變更為 [內容],並將 [複製到輸出目錄] 屬性變更為 [複製] (如果較新)。
當您完成這些步驟時,您的專案將類似下圖。
發佈 ExcelWorkbook 專案。
修改應用程式資訊清單
使用檔案總管開啟解決方案目錄 c:\publish。
開啟 [應用程式檔案 ] 資料夾,然後開啟對應至解決方案最新發佈版本的資料夾。
在文字編輯器 (例如記事本) 中開啟 ExcelWorkbook.dll.manifest 檔案。
在
</vstav3:update>元素之後,新增下列程式碼。 對於元素的<vstav3:entryPoint>class 屬性,請使用下列語法: NamespaceName.ClassName。 在下列範例中,命名空間和類別名稱相同,因此產生的進入點名稱為FileCopyPDA.FileCopyPDA。<vstav3:postActions> <vstav3:postAction> <vstav3:entryPoint class="FileCopyPDA.FileCopyPDA"> <assemblyIdentity name="FileCopyPDA" version="1.0.0.0" language="neutral" processorArchitecture="msil" /> </vstav3:entryPoint> <vstav3:postActionData> </vstav3:postActionData> </vstav3:postAction> </vstav3:postActions>
重新簽署應用程式和部署資訊清單
在 \Documents\Visual Studio 2013\Projects\ExcelWorkbook\ExcelWorkbook 資料夾%USERPROFILE% 中,複製 ExcelWorkbook_TemporaryKey.pfx 憑證檔案,然後將它貼到 PublishFolder\Application Files\ExcelWorkbook_MostRecentPublishedVersion 資料夾中。
開啟 Visual Studio 命令提示字元,然後將目錄變更為 c:\publish\Application Files\ExcelWorkbook_MostRecentPublishedVersion 資料夾 (例如 c:\publish\Application Files\ExcelWorkbook_1_0_0_4)。
執行下列命令,簽署修改後的應用程式資訊清單:
mage -sign ExcelWorkbook.dll.manifest -certfile ExcelWorkbook_TemporaryKey.pfx出現「ExcelWorkbook.dll.manifest 已成功簽署」訊息。
變更至 c:\publish 資料夾,然後執行下列命令來更新並簽署部署資訊清單:
mage -update ExcelWorkbook.vsto -appmanifest "Application Files\Ex celWorkbookMostRecentVersionNumber>\ExcelWorkbook.dll.manifest" -certfile "Application Files\ExcelWorkbookMostRecentVersionNumber>\ExcelWorkbook_TemporaryKey.pfx"備註
在上一個範例中,將 MostRecentVersionNumber 取代為最近發佈的解決方案版本的版本號碼 (例如 1_0_0_4)。
會出現「ExcelWorkbook.vsto 已成功簽署」訊息。
將 ExcelWorkbook.vsto 檔案複製到 c:\publish\Application Files\ExcelWorkbook_MostRecentVersionNumber 目錄。
將解決方案的文件放在執行 SharePoint 的伺服器上 (僅限文件層級自訂)
您可以使用 SharePoint 將文件層級自訂發佈給終端使用者。 當使用者移至 SharePoint 網站並開啟檔時,執行階段會自動將解決方案從共用網路資料夾安裝到使用者的本機電腦。 在本機安裝解決方案之後,即使將文件複製到其他地方 (例如桌面),自訂仍會運作。
將文件放在執行 SharePoint 的伺服器上
將解決方案文件新增至 SharePoint 網站上的文件庫。
執行下列其中一種方法的步驟:
使用 Office 設定工具,將執行 SharePoint 的伺服器新增至所有使用者電腦上 Word 或 Excel 的信任中心。
請確定每個使用者都執行下列步驟。
在本機電腦上,開啟 Word 或 Excel,選擇 [ 檔案 ] 索引標籤,然後選擇 [選項] 按鈕。
在 [信任中心 ] 對話方塊中,選擇 [信任的位置 ] 按鈕。
選取 [允許網路上的信任位置 (不建議使用)] 核取方塊,然後選擇 [ 新增位置 ] 按鈕。
在 [路徑] 方塊中,輸入包含您上傳文件之 SharePoint 文件庫的 URL (例如 http://SharePointServerName/TeamName/ProjectName/DocumentLibraryName)。
請勿新增預設網頁的名稱,例如 default.aspx 或 AllItems.aspx。
選取 [ 此位置的子資料夾也受信任 ] 核取方塊,然後選擇 [ 確定 ] 按鈕。
當使用者從 SharePoint 網站開啟文件時,文件會開啟,並安裝自訂。 使用者可以將文件複製到桌面。 自訂仍會執行,因為文件中的屬性會指向文件的網路位置。
建立自訂安裝程式
您可以為 Office 解決方案建立自訂安裝程式,而不是使用發佈解決方案時為您建立的安裝程式。 例如,您可以使用登入腳本來啟動安裝,或者您可以使用批次檔來安裝解決方案,而不需要使用者互動。 如果終端使用者電腦上已安裝必要條件,這些案例效果最佳。
在自訂安裝程式中,請呼叫 Office 解決方案的安裝程式工具 (VSTOInstaller.exe),預設會安裝在下列位置:
%commonprogramfiles%\microsoft shared\VSTO\10.0\VSTOInstaller.exe
如果工具不在該位置,您可以使用 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VSTO Runtime Setup\v4\InstallerPath 或 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VSTO Runtime Setup\v4\InstallerPath 登錄機碼來尋找該工具的路徑。
您可以將下列參數與 VSTOinstaller.exe搭配使用。
| 參數 | Definition |
|---|---|
| /Install 或 /I | 安裝解決方案。 您必須將這個選項搭配部署資訊清單的路徑一起使用。 您可以指定本機電腦上的路徑或通用命名慣例 (UNC) 的檔案共用。 您可以指定本機路徑 (C:\FolderName\PublishFolder)、相對路徑 (Publish\) 或完整位置 (\\ServerName\FolderName 或 http:// ServerName/FolderName)。 |
| /解除安裝 或 /U | 解除安裝解決方案。 您必須遵循此選項以及部署資訊清單的路徑。 您可以指定路徑可以位於本機電腦上,即 UNC 檔案共用。 您可以指定本機路徑 (c:\FolderName\PublishFolder)、相對路徑 (Publish\) 或完整位置 (\\ServerName\FolderName 或 http:// ServerName/FolderName)。 |
| /Silent 或 /S | 安裝或解除安裝,而不提示使用者輸入或顯示任何訊息。 如果需要信任提示,則無法安裝或更新自訂功能。 |
| /Help 或 /? | 顯示說明資訊。 |
當您執行 VSTOinstaller.exe時,可能會出現下列錯誤碼。
| 錯誤碼 | Definition |
|---|---|
| 0 | 解決方案已成功安裝或解除安裝,或 VSTOInstaller 說明已顯示。 |
| -100 | 一或多個命令列選項無效,或已多次設定。 如需詳細資訊,請輸入 “vstoinstaller /?” 或請參閱 建立 ClickOnce Office 解決方案的自訂安裝程式。 |
| -101 | 一或多個命令列選項無效。 如需詳細資訊,請輸入 “vstoinstaller /?”。 |
| -200 | 部署資訊清單 URI 無效。 如需詳細資訊,請輸入 “vstoinstaller /?”。 |
| -201 | 無法安裝解決方案,因為部署資訊清單無效。 請參閱 Office 解決方案的部署資訊清單。 |
| -202 | 無法安裝解決方案,因為應用程式資訊清單的 Visual Studio Tools for Office 區段無效。 請參閱 Office 解決方案的應用程式資訊清單。 |
| -203 | 無法安裝解決方案,因為發生下載錯誤。 檢查部署資訊清單的 URI 或網路檔案位置,然後再試一次。 |
| -300 | 無法安裝解決方案,因為發生安全性例外狀況。 請參閱 Secure Office 解決方案。 |
| -400 | 無法安裝解決方案。 |
| -401 | 無法卸載解決方案。 |
| -500 | 作業已取消,因為無法安裝或解除安裝解決方案,或無法下載部署資訊清單。 |
發佈更新
若要更新解決方案,您可以使用 [專案設計工具 ] 或 [發佈精靈] 再次發佈解決方案,然後將更新的解決方案複製到安裝位置。 當您將檔案複製到安裝位置時,請確定您覆寫先前的檔案。
下次解決方案檢查更新時,它會自動尋找並載入新版本。
變更解決方案的安裝位置
您可以在發佈解決方案之後新增或變更安裝路徑。 您可能想要變更安裝路徑,原因如下一或多個:
安裝程式是在已知安裝路徑之前編譯的。
解決方案檔案已複製到不同的位置。
裝載安裝檔案的伺服器具有新的名稱或位置。
若要變更解決方案的安裝路徑,您必須更新安裝程式,然後使用者必須執行它。 對於文件層級自訂,使用者也必須更新文件中的屬性,以指向新位置。
備註
如果您不想要求使用者更新其文件內容,您可以要求使用者從安裝位置取得更新的文件。
變更安裝程式中的安裝路徑
開啟 命令提示字元 視窗,然後將目錄變更為安裝資料夾。
執行安裝程式,並包含
/url參數,該參數將新的安裝路徑作為字串。下列範例示範如何將安裝路徑變更為 Fabrikam 網站上的位置,但您可以將該 URL 取代為您想要的路徑:
setup.exe /url="http://www.fabrikam.com/newlocation"備註
如果出現訊息並指出可執行檔的簽章將會失效,則用來簽署解決方案的憑證不再有效,而且發行者未知。 因此,使用者必須先確認他們信任解決方案的來源,才能安裝解決方案。
備註
若要顯示 URL 的目前值,請執行
setup.exe /url。對於文件層級自訂,使用者必須開啟文件,然後更新其_AssemblyLocation屬性。 下列步驟說明使用者如何執行此工作。
在文件中更新 _AssemblyLocation 屬性
在 [檔案 ] 索引標籤上,選擇 [資訊],如下圖所示。
在 [屬性] 清單中,選擇 [進階屬性],如下圖所示。
在 [屬性] 清單的 [自訂] 索引標籤上,選擇 _AssemblyLocation,如下圖所示。
[ 值] 方塊包含部署資訊清單識別碼。
在識別碼之前,輸入文件的完整路徑,後面接著長條,格式為 路徑|識別碼 (例如, File://ServerName/FolderName/FileName|74744e4b-e4d6-41eb-84f7-ad20346fe2d9。
如需如何格式化此識別碼的詳細資訊,請參閱 自訂文件屬性概觀。
選擇 OK 按鈕,然後儲存並關閉文件。
執行安裝程式,而不使用 /url 參數,將解決方案安裝在指定的位置。
將解決方案復原至舊版
當您復原解決方案時,您會將使用者還原回該解決方案的舊版。
復原解決方案
開啟解決方案的安裝位置。
在最上層發佈資料夾中,刪除部署資訊清單 ( .vsto 檔案)。
尋找您要復原至之版本的子資料夾。
將部署資訊清單從該子資料夾複製到最上層發佈資料夾。
例如,若要將名為 OutlookAddIn1 的解決方案從 1.0.0.1 版復原至 1.0.0.0 版,請從 OutlookAddIn1_1_0_0_0 資料夾複製 OutlookAddIn1.vsto 檔案。 將檔案貼到最上層發佈資料夾中,覆寫已存在的 OutlookAddIn1_1_0_0_1 版本特定的部署資訊清單。
下圖顯示此範例中的發佈資料夾結構。
下次使用者開啟應用程式或自訂文件時,會偵測到部署資訊清單變更。 舊版的 Office 解決方案會從 ClickOnce 快取執行。
備註
本機資料只會儲存一個先前版本的解決方案。 如果您復原兩個版本,則不會保留本機資料。 如需本機資料的詳細資訊,請參閱 在 ClickOnce 應用程式中存取本機和遠端資料。