共用方式為


關於私人元件

私用元件是使用應用程式部署的元件,可用於該應用程式的獨佔用途。 也就是說,其他應用程式不會共用私人元件。 私人元件是可用來建立 隔離應用程式的方法之一。 如需詳細資訊,請參閱 關於隔離的應用程式和並存元件

私人元件必須設計成與系統上其他版本的元件並存運作。 如需詳細資訊,請參閱 建立並存元件的指導方針

私用元件必須伴隨 元件資訊清單。 請注意,將 DLL 封裝為私人元件時,會套用名稱限制,以配合 Windows 搜尋私人元件的方式。 搜尋私人元件時,建議的方法是在 DLL 中包含元件資訊清單作為資源。 在此情況下,資源識別碼必須等於 1,而且私用元件的名稱可能與 DLL 的名稱相同。 例如,如果 DLL 的名稱是MICROSOFT.WINDOWS.MYSAMPLE.DLL,資訊清單 之 assemblyIdentity 元素中使用的 name 屬性值也可能是 Microsoft.Windows.mysample。 搜尋私用元件的替代方法是在個別的檔案中提供元件資訊清單。 在此情況下,元件及其資訊清單的名稱必須與 DLL 的名稱不同。 例如,Microsoft.Windows.mysampleAsm、Microsoft.Windows.mysampleAsm.manifest 和 Microsoft.Windows.mysample.dll。 如需如何並存搜尋私用元件的詳細資訊,請參閱 元件搜尋順序

私人元件會安裝在應用程式目錄結構的 資料夾中。 一般而言,這是包含應用程式可執行檔的資料夾。 私用元件可以部署在與應用程式相同的資料夾中、與元件名稱相同的資料夾中,或是與元件同名的語言特定子資料夾。 例如,使用下列其中一個目錄結構來部署未指定語言的私人元件 Microsoft.tools.pop。

目錄結構 Description
APPDIR\MICROSOFT.TOOLS.POP.DLL 資訊清單會部署為 DLL 中的資源。
Appdir\Microsoft.Tools.Pop.MANIFEST 資訊清單會部署為個別的檔案。
APPDIR\MICROSOFT.TOOLS.POP\MICROSOFT.TOOLS.POP.DLL 資訊清單會部署為 DLL 中的資源,其位於具有元件名稱的子資料夾中。
Appdir\Microsoft.Tools.Pop\Microsoft.Tools.Pop.MANIFEST 資訊清單會部署為子資料夾中具有元件名稱的個別檔案。

 

重要

對於 Windows 7 和 Windows Server 2008 R2 之前的 Windows 作業系統版本,原生私人元件必須部署在包含應用程式可執行檔的 資料夾中。 原生私人元件不支援在語言特定資料夾或與元件名稱相同的資料夾中安裝。

 

使用下列其中一個目錄結構來部署具有指定語言的私人元件 Microsoft.tools.pop。 在下列範例中,Microsoft.Tools.Pop 所使用的語言是英文 (美國) ,語言代碼為 en-us。 您應該以正確的 DHTML 語言程式碼取代元件。

appdir\en-us\Microsoft.tools.pop.DLL
appdir\en-us\Microsoft.tools.pop.MANIFEST
appdir\en-us\Microsoft.tools.pop\Microsoft.tools.pop.DLL
appdir\en-us\Microsoft.tools.pop\Microsoft.tools.pop.MANIFEST

私人元件可由任何安裝方法安裝,這些安裝方法可以將元件的檔案複製到此資料夾中,例如 xcopy 命令。 如需如何使用 Windows Installer 安裝私人元件的詳細資訊,請參閱 Win32 元件的安裝

私人元件也可以安裝在 Windows XP 之前的作業系統上。 在此情況下,必須註冊元件,而且不會在這些作業系統上使用資訊清單。 私人元件的複本會安裝到私用資料夾中,以供應用程式獨佔使用。 另一個版本的元件可以在系統上全域註冊,並可供系結至它的任何應用程式使用。 元件的全域版本可能是隨應用程式或舊版一起安裝的版本。 如需詳細資訊,請參閱 Windows 上的 DLL/COM 重新導向。 元件也可以安裝為共用元件,以供多個應用程式使用。 如需詳細資訊,請參閱 共用元件

請注意,建立私人元件的步驟與建立共用元件的步驟相同,但有兩個例外:

  • 不需要簽署私用元件,而且元件資訊清單的assemblyIdentity元素中不需要publickeyToken
  • 您可以使用任何安裝技術,將私人元件安裝到應用程式的 資料夾中。 不需要使用 Windows Installer 安裝私人元件。