Izolované komponenty

Autoři instalačních balíčků můžou určit, že instalační program zkopíruje sdílené soubory (běžně sdílené knihovny DLL) aplikace do složky této aplikace, nikoli do sdíleného umístění. Tuto soukromou sadu souborů (DLL) pak používá pouze aplikace. Izolace aplikace společně s jejími sdílenými komponentami tímto způsobem má následující výhody:

  • Aplikace vždy používá verze sdílených souborů, se kterými byla nasazena.
  • Instalace aplikace nepřepíše jiné verze sdílených souborů jinými aplikacemi.
  • Následné instalace jiných aplikací používajících různé verze sdílených souborů nemohou přepsat soubory používané touto aplikací.

Vzhledem k tomu, že aktuální implementace modelu COM uchovává jednu úplnou cestu v registru pro každou dvojici CLSID/Context, vynutí všechny aplikace používat stejnou verzi sdílené knihovny DLL. Chcete-li aplikaci umožnit zachovat soukromou kopii serveru COM, zavaděč systému v systému Windows 2000 kontroluje přítomnost serveru . MÍSTNÍ soubor ve složce aplikace. Pokud zavaděč systému zjistí . LOCAL soubor mění logiku hledání tak, aby upřednostňovala knihovny DLL umístěné ve stejné složce jako aplikace.

Když Instalační služba systému Windows spustí akci IsolateComponents zkopírují soubory komponenty (běžně sdílené knihovny DLL) zadané ve sloupci Component_Shared izolované součásti do stejné složky jako součást (obvykle .exe soubor) zadaný ve sloupci Component_Application. Instalační program vytvoří v tomto adresáři soubor s nulovými bajty, který má krátký název souboru klíče pro Component_Application (obvykle je název stejný jako název aplikace .exe) připojený s . MÍSTNÍ. Instalační program používá registraci komponenty ve sdíleném umístění a nezapisuje žádné registrační informace pro kopii komponenty v privátním umístění.

Další informace najdete tady: