隔離元件

安裝套件的作者可以指定安裝程式將共用檔案複製到應用程式的資料夾中, (常見的共用 DLL) 複製到該應用程式的資料夾,而不是複製到共用位置。 此私用的檔案集 (DLL) 則僅供應用程式使用。 以這種方式將應用程式與其共用元件隔離在一起,有下列優點:

  • 應用程式一律會使用部署共用檔案的版本。
  • 安裝應用程式不會覆寫其他應用程式所共用檔案的其他版本。
  • 使用不同版本共用檔案的其他應用程式後續安裝,無法覆寫此應用程式所使用的檔案。

由於 COM 的目前實作會將每個 CLSID/CoNtext 配對的單一完整路徑保留在登錄中,因此會強制所有應用程式使用相同的共用 DLL 版本。 若要讓應用程式保留 COM 伺服器的私用複本,Windows 2000 中的系統載入器會檢查 是否存在 。應用程式資料夾中的 LOCAL 檔案。 如果系統載入器偵測到 。LOCAL 檔案會改變其搜尋邏輯,以偏好位於與應用程式相同的資料夾中的 DLL。

當 Windows Installer 執行 IsolatComponents 動作 時,他們會將元件 (通常是在 IsolatedComponent 資料表 的 [Component_Shared] 資料行中指定的共用 DLL) ,複製到與元件相同的資料夾中, (通常是在 Component_Application 資料行中指定的.exe檔案) 。 安裝程式會在此目錄中建立檔案,長度為零位元組,且具有索引鍵檔案的簡短檔案名,Component_Application (名稱通常與附加的應用程式.exe) 相同。當地。 安裝程式會在其共用位置使用元件的註冊,而且不會針對私人位置中的元件複本寫入任何註冊資訊。

如需詳細資訊,請參閱