Sdílet prostřednictvím


Architektura nasazení a přehled pro aplikace závislé na architektuře

Tento článek vysvětluje základní architekturu nasazení sady Windows App SDK. Níže uvedené koncepty se vztahují především na aplikace závislé na architektuře sady Windows App SDK. Aplikace závislá na rozhraní závisí na modulu runtime sady Windows App SDK na cílovém počítači.

Existují dvě hlavní možnosti distribuce aplikace závislé na rozhraní:

Metoda nasazení aplikace Požadavky
Balený – Musí deklarovat závislost na balíčku framework v manifestu balíčku.
– Deployment API je vyžadováno pro aplikace distribuované přes Microsoft Store a doporučeno pro aplikace distribuované mimo Store, aby byla zajištěna instalace runtime závislostí.
Zabalené s externím uložením nebo nebalené – Musí distribuovat modul runtime buď pomocí instalačního programu, nebo instalací požadovaných balíčků MSIX přímo.
– Další požadavky na modul runtime: Musí inicializovat přístup k modulu runtime sady Windows App SDK prostřednictvím rozhraní BOOTSTRAP API.

Další podrobnosti o těchto požadavcích najdete v následujících článcích:

Klíčové termíny

Následující části definují klíčové termíny pro nasazení sady Windows App SDK a další podrobnosti o některých těchto balíčcích.

termín Definice
modulu runtime sady Windows App SDK Balíčky MSIX vyžadované aplikací pro použití sady Windows App SDK. Mezi tyto balíčky patří: Framework, Main, Singleton a DDLM. V závislosti na použitých funkcích a metodě nasazení aplikace budete na cílovém počítači potřebovat určitou sadu těchto balíčků.
balíčku Framework Obsahuje binární soubory používané v době běhu aplikacemi (většina funkcí sady Windows App SDK). Tato architektura obsahuje komponentu bootstrapperu, která umožňuje aplikacím automaticky nainstalovat nejnovější verzi sady Windows App SDK, která se aktualizuje v pravidelném tempu vydávání verzí.
Hlavní balíček Balíček, který obsahuje úlohy na pozadí, aby bylo možné sledovat dynamické závislosti, a umožňuje automatické aktualizace balíčku Framework z Microsoft Storu.
Singleton balíček Obsahuje úlohy na pozadí, služby, rozšíření aplikací a další komponenty, které nejsou součástí balíčku Framework, jako jsou nabízená oznámení. Obvykle se jedná o jeden dlouhotrvající proces, který je zprostředkován mezi aplikacemi.
balíček Dynamic Dependency Lifetime Manager (DDLM) Brání operačnímu systému v provádění servisních aktualizací balíčků MSIX, když se používá balíček s externím umístěním nebo nevybalenou aplikací.
Bootstrapper Místní binární soubor aplikace používaný jako součást balíčku s externím umístěním a nezabalenými aplikacemi k vyhledání a načtení nejvhodnější verze sady Windows App SDK, jak je požadováno aplikací.
Zajišťování Proces instalace a registrace balíčků (včetně souborů a klíčů registru) v celém systému, aby se eliminovala nutnost opakované instalace jinými uživateli. Dá se provést buď jako součást operačního systému, nebo během instalace aplikace.
Instalační program Odkazuje na instalační program .exe, který nasazuje balíčky Framework, Main, Singleton a DDLM.
MSIX Moderní instalační technologie, která uživatelům umožňuje bezpečně nainstalovat aplikaci pro jednotlivé uživatele přímo z Microsoft Storu nebo webu. Na podnikových nebo sdílených počítačích je možné aplikace nainstalovat pro všechny uživatele prostřednictvím PowerShellu a MDM.

Balíček rámce

Když vytváříte aplikaci, která používá sadu windows App SDK, odkazuje vaše aplikace na sadu komponent modulu runtime sady Windows App SDK, které se distribuují koncovým uživatelům prostřednictvím balíčku architektury. Balíček architektury umožňuje aplikacím přistupovat k komponentám sady Windows App SDK prostřednictvím jediného sdíleného zdroje na zařízení uživatele, a ne jejich sdružování do balíčku aplikace. Rámcový balíček má také vlastní prostředky, jako jsou knihovny DLL a definice rozhraní API (registrace COM a Windows Runtime). Tyto prostředky se spouštějí v kontextu vaší aplikace, takže dědí možnosti a oprávnění vaší aplikace a nevytvádí žádné vlastní možnosti ani oprávnění. Další informace o závislostech balíčků architektury naleznete v tématu Balíčky architektury MSIX a dynamické závislosti.

Balíček architektury sady Windows App SDK je balíček MSIX, který je nasazený koncovým uživatelům prostřednictvím Microsoft Storu. Může se snadno a rychle aktualizovat servisními verzemi, které můžou zahrnovat opravy zabezpečení a spolehlivosti. Všechny aplikace závislé na architektuře, které používají sadu Windows App SDK, mají závislost na sdílené instanci balíčku architektury, jak je znázorněno v následujícím diagramu.

Diagram způsobu přístupu aplikací k balíčku architektury sady Windows App SDK

Když se aktualizuje nová verze frameworkového balíčku sady Windows App SDK, všechny aplikace závislé na tomto frameworku se aktualizují na novou verzi, aniž by samy musely redistribuovat kopii. Aktualizace Windows na nejnovější verzi architektur při jejich vydání a aplikace během opětovného spuštění automaticky odkazují na nejnovější verzi balíčku architektury. Starší verze balíčků architektury se ze systému neodeberou, dokud nebudou spuštěny nebo aktivně používány aplikacemi v systému.

Diagram toho, jak aplikace získávají aktualizace frameworkového balíčku Windows App SDK

Vzhledem k tomu, že je kompatibilita aplikací důležitá pro Microsoft a aplikace, které závisí na Windows App SDK, rámcový balíček Windows App SDK se řídí sémantickou verzí 2.0.0 pravidly. To znamená, že po vydání verze 1.0 sady Windows App SDK balíček architektury sady Windows App SDK zaručí kompatibilitu mezi změnami minoritní verze a opravami verze a zásadní změny nastanou pouze mezi aktualizacemi hlavní verze.

Balíček Singleton

Balíček singleton zajišťuje, že jeden dlouhotrvající proces dokáže zpracovávat služby používané v různých aplikacích, které můžou běžet v různých verzích sady Windows App SDK.

Singleton sady Windows App SDK je potřeba k povolení push oznámení pro rozbalené aplikace a zabalené aplikace Win32 na verzích Windows nižších než 20H1, které nemohou být podporovány stávajícími třídami UWP PushNotificationTrigger a ToastNotificationActionTrigger. Do balíčku Singleton se přidají budoucí funkce sady Windows App SDK, které balíček Framework nepodporuje.

Další požadavky na rozbalené aplikace

Bootstrapper

Bootstrapper je knihovna, kterou je třeba přiložit k vašemu balíčku s externím umístěním nebo k nerozbalené aplikaci. Poskytuje API pro bootstrapper (viz Použití prostředí Windows App SDK runtime pro aplikace zabalené s externím umístěním nebo nebalené), které umožňuje nebaleným aplikacím provádět tyto důležité úlohy:

  • Inicializujte Správce doby života dynamické závislosti (DDLM) pro rámec Windows App SDK.
  • Najděte balíček architektury sady Windows App SDK a načtěte ho do grafu balíčků aplikace.

Aby bylo možné tyto úkoly provést, balíček NuGet využívá inicializátory modulů, které za vás propojí inicializační mechanismus (bootstrapper). Jednoduše nastavte <WindowsPackageType>None</WindowsPackageType> ve vašem projektovém souboru. V pokročilých scénářích, pokud chcete mít kontrolu nad inicializací, můžete volat rozhraní API bootstrapperu přímo ve spouštěcím kódu vaší aplikace (viz Kurz: Použití rozhraní API bootstrapperu v aplikaci zabalené s externím umístěním nebo nezabalené, které používá sadu Windows App SDK) aby mohl správně inicializovat systém pro nezabalenou aplikaci. Aby aplikace mohl používat funkce sady Windows App SDK, jako je WinUI, životní cyklus aplikace, MRT Core a DWriteCore, musí vaše aplikace používat rozhraní API bootstrapperu.

Knihovna bootstrapperu ve verzi Windows App SDK 1.0 zahrnuje:

  • Microsoft.WindowsAppRuntime.Bootstrap.dll (C++ a C#)
  • Microsoft.WindowsAppRuntime.Bootstrap.Net.dll (obálka jazyka C#)

Správce dynamické závislosti a její životnosti (DDLM)

Účelem DDLM je zabránit údržbě balíčku architektury sady Windows App SDK, když se používá v rozbalené aplikaci. Obsahuje server, který musí být inicializován bootstrapperem v rané fázi spuštění aplikace, aby byla tato funkce zajištěna.

Pro každou verzi a architekturu balíčku architektury sady Windows App SDK existuje jeden DDLM. To znamená, že na x64 počítači můžete mít jak verzi x86, tak verzi x64 DDLM, aby bylo možné podporovat aplikace obou architektur.

Další požadavky