關於並存元件

指令 清單會描述 Windows 並存元件。 並存元件包含一組 DLL、Windows 類別、COM 伺服器、類型程式庫或介面的資源集合,一律會一起提供給應用程式。 這些會在元件資訊清單中說明。

一般而言,並存元件是單一 DLL。 例如,Microsoft COMCTL32 元件是具有資訊清單的單一 DLL,而Microsoft Visual C++開發系統執行時間程式庫元件包含多個檔案。 指令 清單包含中繼資料 ,描述並存元件和並存元件相依性。

作業系統會使用並存元件作為命名、系結、版本設定、部署和組態的基本單位。 每個並存元件都有唯一的身分識別。 元件識別的其中一個屬性是其版本。 如需詳細資訊,請參閱 元件版本

從 Windows XP 開始,多個版本的並存元件可供同時執行的應用程式使用。 載入器會使用資訊清單和元件版本號碼來判斷對應用程式之元件版本的正確系結。 並存元件和資訊清單可與應用程式和並存管理員搭配使用,如下圖所示。

一般並存元件的標記法

在上述範例中,Comctl32.DLL 6.0 版和 Comctl32.DLL 5.0 版都位於並存組件快取中,可供應用程式使用。 當應用程式呼叫 以載入 DLL 時,並存管理員會判斷應用程式是否有資訊清單中所述的版本相依性。 如果沒有相關的資訊清單,系統會載入元件的預設版本。 針對 Windows XP,Comctl32.DLL 5.0 版是系統預設值。 如果並存管理員發現與資訊清單中所述 6.0 版的相依性,則會載入該版本以搭配應用程式執行。

Microsoft 提供數個主要系統元件做為並存元件。 如需詳細資訊,請參閱 支援的 Microsoft 並存元件。 應用程式開發人員也可以建立自己的並存元件。 如需詳細資訊,請參閱 建立並存元件的指導方針。 在許多情況下,可以更新現有的應用程式以使用並存元件,而不需要變更應用程式程式碼。

我們鼓勵開發人員使用並存元件來建立 隔離的應用程式,並基於下列原因將現有應用程式更新為隔離的應用程式:

  • 並存元件可減少 DLL 版本衝突的可能性。
  • 並存元件共用可讓多個版本的 COM 或 Windows 元件同時執行。
  • 應用程式和系統管理員可以在部署之後,根據 全域個別應用程式組態 來更新元件組態。 例如,應用程式可以更新為使用包含更新的並存元件,而不需要重新安裝應用程式。