Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek vysvětluje architekturu nasazení Windows App SDK na vyšší úrovni. Níže uvedené koncepty se týkají především aplikací závislých na architektuře Windows App SDK. Aplikace závislá na rámci závisí na runtime Windows App SDK, který je přítomen 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 runtime: Musí inicializovat přístup k Windows App SDK runtime prostřednictvím rozhraní Bootstrap API. |
Další podrobnosti o těchto požadavcích najdete v následujících článcích:
- Windows App SDK průvodce nasazením pro zabalené aplikace závislé na architektuře
- Průvodce nasazením Windows App SDK pro aplikace závislé na frameworku, zabalené s externím umístěním nebo bez balíčku
Klíčové termíny
Následující části definují klíčové termíny pro nasazení Windows App SDK a další podrobnosti o některých těchto balíčcích.
| termín | Definice |
|---|---|
| Windows App SDK modul runtime | Balíčky MSIX vyžadované aplikací k používání 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 |
Obsahuje binární soubory používané aplikacemi za běhu (většina funkcí Windows App SDK). Tato architektura obsahuje komponentu bootstrapperu, která aplikacím umožňuje automaticky nainstalovat nejnovější verzi Windows App SDK, která se aktualizuje v pravidelných intervalech vydávání. |
| 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ý aplikacemi zabalenými s možností externího umístění a nezabalenými aplikacemi k vyhledání a načtení nejvhodnější verze Windows App SDK podle potřeby aplikace. |
| 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
Při vytváření aplikace, která používá Windows App SDK, bude vaše aplikace odkazovat na sadu Windows App SDK běhových komponent distribuovaných koncovým uživatelům prostřednictvím balíčku framework. Balíček rámec umožňuje aplikacím přistupovat k komponentám Windows App SDK prostřednictvím jednoho sdíleného zdroje na zařízení uživatele, namísto jejich sdružování do balíčku aplikace. Balíček rámce má také vlastní prostředky, jako jsou knihovny DLL a definice rozhraní API (COM a registrace 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 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í Windows App SDK, mají závislost na sdílené instanci balíčku architektury, jak je znázorněno v následujícím diagramu.
Když je obsluhována nová verze rámcového balíčku Windows App SDK, všechny aplikace závislé na rámci se aktualizují na novou verzi, aniž by samy musely znovu distribuovat svou 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.
Vzhledem k tomu, že je kompatibilita aplikací důležitá pro Microsoft a aplikace, které závisí na Windows App SDK, platí, že balíček architektury Windows App SDK se řídí pravidly Semantic Versioning 2.0.0. To znamená, že po vydání verze 1.0 SDK Windows App, balíček frameworku SDK Windows App zaručí kompatibilitu mezi změnami dílčích verzí a opravnými verzemi, a k výrazným změnám dojde pouze mezi hlavními aktualizacemi verzí.
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 Windows App SDK.
Windows App SDK singleton je potřeba k povolení push oznámení pro nebalené aplikace a zabalené aplikace Win32 pomocí verzí Windows nižší než 20H1, které nelze podpořit stávající třídou UWP PushNotificationTrigger a ToastNotificationActionTrigger. Do balíčku Singleton se přidají budoucí Windows App SDK funkce, které nelze podporovat balíčkem Framework.
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 rozhraní API bootstrapperu (viz Použití modulu runtime Windows App SDK 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:
- Inicializace nástroje DDLM (Dynamic Dependency Lifetime Manager) pro balíček architektury Windows App SDK
- Vyhledejte a načtěte balíček architektury Windows App SDK do grafu balíčku aplikace.
K provedení těchto úloh využívá balíček NuGet auto-initializers k připojení bootstrapperu za vás. Jednoduše nastavte <WindowsPackageType>None</WindowsPackageType> v souboru project. Pokud chcete mít kontrolu nad inicializací, můžete v pokročilých scénářích volat rozhraní API bootstrapperu přímo ve spouštěcím kódu vaší aplikace (viz Tutorial: Použijte rozhraní API bootstrapperu v aplikaci zabalené s externím umístěním nebo rozbalené, které používá Windows App SDK), aby mohl správně inicializovat systém pro rozbalenou aplikaci. Vaše aplikace musí používat rozhraní API bootstrapperu, než bude moct používat Windows App SDK funkce, jako jsou WinUI 3, životní cyklus aplikace, MRT Core a DWriteCore.
Knihovna nástroj bootstrapper ve verzi 1.0 Windows App SDK 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 Windows App SDK framework, když ho používá rozbalená aplikace. 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 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
- U zabalených aplikací je závislost balíčku architektury VCLibs požadavkem. Další informace naleznete v tématu balíčky C++ Runtime Framework pro Desktop Bridge.
- Pro nebalené aplikace je balíček Visual C++ Redistributable požadavkem. Další informace najdete v tématu Microsoft Visual C++ Redistributable nejnovější podporované soubory ke stažení.
- C#. Pro informace o modulu runtime .NET viz Stáhnout .NET.
Související témata
Windows developer