Sdílet prostřednictvím


Koncept izolovaných aplikací a souběžných sestavení

Aplikace se považuje za izolovanou, pokud jsou všechny její součásti souběžnými sestaveními.Souběžné sestavení je kolekce prostředků – skupina knihoven DLL, tříd oken, serverů COM, knihoven typů nebo rozhraní – které se nasazují společně a které jsou dostupné spuštěné aplikaci.Souběžné sestavení je zpravidla jedna až několik knihoven DLL.

Sdílené nebo soukromé

Souběžné sestavení může být buď sdílené, nebo soukromé.Sdílená souběžná sestavení mohou být využívána více aplikacemi, které ve svých manifestech udávají závislost na tomto sestavení.Několik verzí souběžného sestavení může být sdíleno různými aplikacemi, které běží současně.Soukromé sestavení je sestavení, které je nasazeno spolu s aplikací pro výhradní použití této aplikace.Soukromá sestavení se instalují do složky, která obsahuje spustitelný soubor aplikace nebo některou z jejích podsložek.

Manifesty a pořadí hledání

Izolované aplikace i souběžná sestavení jsou popsána pomocí manifestů.Manifest je dokument XML, který může mít formu externího souboru nebo může být vložen do aplikace nebo sestavení jako prostředek.Soubor manifestu izolované aplikace slouží ke správě názvů a verzí sdílených souběžných sestavení, na které by aplikace při běhu měla vytvořit vazbu.Manifest souběžného sestavení obsahuje názvy, verze, prostředky a závislá sestavení souběžných sestavení.Manifest sdílených souběžných sestavení se instaluje do složky %WINDIR%\WinSxS\Manifests\.V případě soukromého sestavení doporučujeme jeho manifest zahrnout do knihovny DLL jako prostředek, jehož ID je rovno 1.Soukromé sestavení může mít také stejný název jako knihovna DLL.Další informace naleznete v tématu Soukromá sestavení.

Při běhu používá systém Windows informace o sestavení z manifestu aplikace k vyhledání a načtení odpovídajícího souběžného sestavení.Pokud je izolovaná aplikace závislá na nějakém sestavení, hledá operační systém toto sestavení nejprve mezi sdílenými sestaveními v mezipaměti nativních sestavení ve složce %WINDIR%\WinSxS\.Není-li požadované sestavení nalezeno, hledá pak operační systém soukromé sestavení ve složce adresářové struktury aplikace.Další informace naleznete v tématu Pořadí hledání sestavení.

Změna závislostí

Po nasazení aplikace lze závislosti souběžného sestavení změnit pomocí konfiguračních souborů vydavatelekonfiguračních souborů aplikace.Konfigurační soubor vydavatele, označovaný také jako soubor zásad vydavatele, je soubor XML, který globálně přesměrovává aplikace a sestavení od používání jedné verze souběžného sestavení k používání jiné verze téhož sestavení.Závislost můžete například změnit, pokud je pro souběžné sestavení nasazena oprava chyby nebo zabezpečení, a chcete všechny aplikace přesměrovat tak, aby používaly tuto opravenou verzi.Konfigurační soubor aplikace je soubor XML, který přesměrovává konkrétní aplikaci od používání jedné verze souběžného sestavení k používání jiné verze téhož sestavení.Pomocí konfiguračního souboru aplikace můžete přesměrovat konkrétní aplikaci tak, aby používala jinou verzi souběžného sestavení, než která je definovaná v konfiguračním souboru vydavatele.Další informace naleznete v tématu Konfigurace.

Knihovny jazyka Visual C++

V sadě Visual Studio 2005 a Visual Studio 2008 byly distribuovatelné knihovny (například ATL, MFC, CRT, Standard C++, OpenMP a MSDIA) nasazeny jako sdílená souběžná sestavení do mezipaměti nativních sestavení.V aktuální verzi používají distribuovatelné knihovny centrální nasazení.Všechny aplikace vytvořené pomocí jazyka Visual C++ jsou standardně sestaveny s manifestem vloženým do konečného binárního souboru, přičemž tento manifest popisuje závislosti binárního souboru na knihovnách jazyka Visual C++.Principy generování manifestu pro aplikace Visual C++ naleznete v tématu Základní informace o generování manifestu pro programy C/C++.Manifest se nevyžaduje pro aplikace staticky propojené s knihovnami, které používají, nebo které používají místní nasazení.Další informace o nasazení naleznete v tématu Nasazení ve Visual C++ 2010.

Viz také

Další zdroje

Sestavení izolovaných aplikací C/C++ a souběžných sestavení