Share via


適用於 Office 中 COM、VSTO 及 VBA 增益集的開發最佳做法

如果您要開發 Office 的 COM、VSTO 或 VBA 增益集,請遵循本文所述的開發最佳做法。 這有助於確保:

  • 增益集在不同版本和 Office 部署之間的相容性。
  • 減少使用者和 IT 系統管理員的增益集部署複雜度。
  • 不會發生增益集的意外安裝或執行階段故障。

附註:不支援使用傳統型橋接器來準備 Windows 市集的 COM、VSTO 或 VBA 增益集。 COM、VSTO 和 VBA 增益集無法在 Windows 市集或 Office 市集中散發。

請勿在安裝期間檢查 Office

我們不建議讓增益集在增益集安裝期間偵測是否已安裝 Office。 如果未安裝 Office,您可以安裝增益集,而使用者可以在安裝 Office 之後存取它。

使用內嵌 Interop 類型 (NoPIA)

如果您的方案使用 .NET 4.0 或更新版本,請使用內嵌 Interop 類型 (NoPIA),而不依賴 Office 主要 Interop 元件 (PIA) 可轉散發套件。 使用類型內嵌可減少方案的安裝大小,並確保未來的相容性。 Office 2010 是最後一個提供 PIA 可轉散發套件的 Office 版本。 如需詳細資訊,請參閱逐步解說:從 Microsoft Office 組件內嵌類型資訊類型等價和內嵌 Interop 類型

如果您的方案使用舊版 .NET,建議您更新方案以使用 .NET 4.0 或更新版本。 使用 .NET 4.0 或更新版本可減少較新版本 Windows 的執行階段必要條件。

避免依賴特定 Office 版本

如果您的方案使用僅在較新版本的 Office 中提供的功能,請在執行階段驗證功能是否存在 (如果可能的在,在功能層級) (例如:使用例外狀況處理或透過檢查版本)。 使用物件模型中支援的 API 來驗證最低版本,而不是特定版本,例如 Application.Version 屬性。 我們不建議您依賴 Office 二進位中繼資料、安裝路徑或登錄機碼,因為這些內容可能會在安裝、環境和版本之間變更。

啟用 32 位元和 64 位元 Office 使用量

您的預設建置目標應該同時支援 32 位元 (x86) 和 64 位元 (x64),除非您的方案依賴只適用於特定位元的程式庫。 64 位元版本的 Office 的採用率正在不斷增加,尤其是在大數據環境中。 同時支援 32 位元和 64 位元讓使用者更輕鬆地在 32 位元和 64 位元版本的 Office 之間轉換。

撰寫 VBA 程式碼時,請使用 64 位元安全宣告陳述式,並視需要轉換變數。 此外,請藉由提供每個位元的程式碼,確保可在執行 32 位元或 64 位元版本的 Office 使用者之間共用文件。 如需詳細資訊,請參閱 64 位元 Visual Basic for Applications 概觀

支援受限制的環境

您的方案不應需要使用者帳戶提高許可權限或系統管理員權限。 此外,方案不應該受設定或變更影響:

  • 目前工作目錄。
  • DLL 載入目錄。
  • PATH 變數。

變更共用資料和設定的儲存位置

如果解決方案包含增益集和 Office 外部處理序,請勿使用使用者的應用程式資料資料夾或登錄在增益集和外部處理序之間交換資料或設定。 相反地,請考慮使用使用者的暫存資料夾、文件資料夾或方案的安裝目錄。

每次更新增加版本號碼

設定方案中二進位檔的版本號碼,並隨著每次更新遞增。 這可讓使用者更輕鬆地識別版本之間的變更,並評估相容性。

提供最新版 Office 的支援聲明

客戶要求 ISV 為其在 Office 中執行的 COM、VSTO 和 VBA 增益集提供支援聲明。 列出您的明確支援聲明可協助客戶使用 Microsoft 365 應用程式的企業整備工具了解您的支援。

若要提供 Office 用戶端應用程式的支援聲明 (例如 Word 或 Excel),請先確認增益集是否在目前的 Office 版本中執行,然後承諾增益集在未來版本中發生故障時提供更新。 當 Microsoft 發佈新的組建或 Office 更新時,您不需要測試增益集。 Microsoft 很少更改 Office 中的 COM、VSTO 和 VBA 擴充性平台,而且這些變更都會有詳細記錄。

重要事項:Microsoft 會針對整備報告和 ISV 連絡資訊維護支援增益集清單。 若要列出增益集,請參閱 /configmgr/desktop-analytics/ready-for-windows

使用處理程序監視器協助偵錯安裝或載入問題

如果您的增益集在安裝或載入期間有相容性問題,則這些問題可能與檔案或登錄機碼存取問題有關。 使用 處理程序監視器或類似的偵錯工具來記錄和比較行為與工作環境,以協助找出問題。