Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird eine allgemeine Architektur der Windows App SDK-Bereitstellung erläutert. Die folgenden Konzepte gelten in erster Linie für frameworkabhängige Windows App SDK-Apps. Eine frameworkabhängige App hängt von der Windows App SDK-Laufzeit ab, die auf dem Zielcomputer vorhanden ist.
Es gibt zwei Hauptoptionen zum Verteilen einer frameworkabhängigen App:
App-Bereitstellungsmethode | Anforderungen |
---|---|
Verpackt | - Muss die Abhängigkeit vom Framework-Paket im Paketmanifest deklarieren. – Die Bereitstellungs-API ist für über den Microsoft Store verteilte Apps erforderlich und wird für nicht über den Store verteilte Apps empfohlen, um sicherzustellen, dass Laufzeitabhängigkeiten installiert werden. |
Verpackt mit externem Standort oder ohne Verpackung | – Die Laufzeit muss entweder mithilfe des Installers verteilt oder durch die direkte Installation der erforderlichen MSIX-Pakete bereitgestellt werden. - Zusätzliche Laufzeitanforderungen: Muss den Zugriff auf die Windows App SDK-Laufzeit über die Bootstrap-API initialisieren. |
Weitere Informationen zu diesen Anforderungen finden Sie in den folgenden Artikeln:
- Windows App SDK-Bereitstellungshandbuch für frameworkabhängige, verpackte Apps
- Windows App SDK-Bereitstellungshandbuch für frameworkabhängige Apps, die mit externem Speicherort verpackt oder entpackt wurden
Schlüsselbegriffe
In den folgenden Abschnitten werden wichtige Begriffe für die Bereitstellung des Windows App SDK und weitere Details zu einigen dieser Pakete definiert.
Begriff | Definition |
---|---|
Windows App SDK-Laufzeitumgebung | Die MSIX-Pakete, die von einer App benötigt werden, um das Windows App SDK zu verwenden. Zu diesen Paketen gehören Framework, Main, Singleton und DDLM. Abhängig von den verwendeten Features und der App-Bereitstellungsmethode benötigen Sie einen bestimmten Satz dieser Pakete auf dem Zielcomputer. |
Framework-Paket | Enthält Binärdateien, die zur Laufzeit von Apps verwendet werden (die meisten Windows App SDK-Features). Das Framework enthält eine Bootstrapper-Komponente, mit der Apps die neueste Version des Windows App SDK automatisch installieren können, die in regelmäßigen Veröffentlichungsrhythmus aktualisiert wird. |
Hauptpaket | Paket, das Hintergrundaufgaben enthält, um dynamische Abhängigkeiten nachzuverfolgen und automatische Updates für das Framework-Paket aus dem Microsoft Store zu ermöglichen. |
Singleton-Paket | Enthält Hintergrundaufgaben, Dienste, App-Erweiterungen und andere Komponenten, die nicht im Framework-Paket enthalten sind, z. B. Pushbenachrichtigungen. Dies ist in der Regel ein einzelner lang andauernder Prozess, der zwischen Apps koordiniert oder vermittelt wird. |
Dynamic Dependency Lifetime Manager (DDLM)-Paket | Verhindert, dass das Betriebssystem Wartungsupdates für die MSIX-Pakete ausführt, während ein Paket mit externem Speicherort oder entpackte App verwendet wird. |
Bootstrapper | Eine app-spezifische Binärdatei, die von paketierten Apps mit externem Speicherort und entpackten Apps verwendet wird, um die beste Übereinstimmung mit der Windows App SDK-Version bei Bedarf zu finden und zu laden. |
Bereitstellung | Der Prozess der Installation und Registrierung von Paketen (einschließlich Dateien und Registrierungsschlüsseln) systemweit, um die Notwendigkeit einer wiederholten Installation durch die anderen Benutzer zu beseitigen. Dies kann entweder als Teil des Betriebssystems oder während der Installation einer App erfolgen. |
Installationsprogramm | Bezieht sich auf den .exe-Installer, der die Pakete Framework, Main, Singleton und DDLM installiert. |
MSIX | Moderne Installationstechnologie, mit der Benutzer eine App pro Benutzer sicher installieren können, direkt aus dem Microsoft Store oder einer Website. Auf Unternehmens- oder gemeinsam genutzten PCs können Apps für alle Benutzer über PowerShell und MDM installiert werden. |
Framework-Paket
Wenn Sie eine App erstellen, die das Windows App SDK verwendet, verweist Ihre App auf eine Reihe von Windows App SDK-Laufzeitkomponenten, die über ein Frameworkpaketan Endbenutzer verteilt werden. Das Frameworkpaket ermöglicht Apps den Zugriff auf Komponenten des Windows App SDK über eine einzige freigegebene Quelle auf dem Gerät des Benutzers, anstatt sie in das App-Paket zu bündeln. Das Framework-Paket enthält auch eigene Ressourcen, z. B. DLLs und API-Definitionen (COM- und Windows-Runtime-Registrierungen). Diese Ressourcen werden im Kontext Ihrer App ausgeführt, sodass sie die Funktionen und Berechtigungen Ihrer App erben und keine eigenen Funktionen oder Berechtigungen geltend machen. Weitere Informationen zu Frameworkpaketabhängigkeiten finden Sie unter MSIX-Frameworkpakete und dynamische Abhängigkeiten.
Das Windows App SDK-Frameworkpaket ist ein MSIX-Paket, das endbenutzern über den Microsoft Store bereitgestellt wird. Es kann einfach und schnell mit Wartungsversionen aktualisiert werden, die Sicherheits- und Zuverlässigkeitskorrekturen umfassen können. Alle frameworkabhängigen Apps, die das Windows App SDK verwenden, haben eine Abhängigkeit von einer freigegebenen Instanz des Frameworkpakets, wie im folgenden Diagramm dargestellt.
Wenn eine neue Version des Windows App SDK Frameworkpakets bereitgestellt wird, werden alle frameworkabhängigen Apps automatisch auf die neue Version aktualisiert, ohne dass sie eine Kopie neu verteilen müssen. Windows wird auf die neueste Version von Frameworks aktualisiert, sobald sie veröffentlicht werden, und Apps verweisen automatisch auf die neueste Version des Framework-Pakets beim erneuten Start. Ältere Framework-Paketversionen werden erst aus dem System entfernt, wenn sie nicht mehr ausgeführt oder aktiv von Apps im System verwendet werden.
Da die App-Kompatibilität für Microsoft und Apps wichtig ist, die vom Windows App SDK abhängen, folgt das Windows App SDK-Frameworkpaket den Regeln der Semantischen Versionierung 2.0.0. Dies bedeutet, dass nach der Veröffentlichung von Version 1.0 des Windows App SDK das Framework-Paket die Kompatibilität zwischen kleineren und Patch-Version Änderungen garantiert und grundlegende Änderungen nur bei wichtigen Versionsaktualisierungen auftreten.
Singleton-Paket
Das Singleton-Paket stellt sicher, dass ein einziger persistent laufender Prozess Dienste bearbeiten kann, die über mehrere Apps hinweg genutzt werden, die möglicherweise in verschiedenen Versionen des Windows App SDK ausgeführt werden.
Das Windows App SDK-Singleton ist erforderlich, um Push-Benachrichtigungen für entpackte Apps und verpackte Win32-Anwendungen mit Windows-Versionen unter 20H1 zu aktivieren, da diese nicht von der bestehenden UWP-PushNotificationTrigger--Klasse und der ToastNotificationActionTrigger--Klasse unterstützt werden können. Zukünftige Windows App SDK-Features, die vom Framework-Paket nicht unterstützt werden können, werden dem Singleton-Paket hinzugefügt.
Zusätzliche Anforderungen für entpackte Apps
Bootstrapper
Der Bootstrapper ist eine Bibliothek, die entweder im Paket mit einem externen Speicherort oder in einer entpackten App enthalten sein muss. Sie stellt die Bootstrapper-API bereit (siehe Verwendung der Windows App SDK-Runtime für Apps, die mit externem Standort verpackt oder nicht verpackt sind), damit nicht verpackte Apps diese wichtigen Aufgaben ausführen können.
- Initialisieren Sie den Dynamic Dependency Lifetime Manager (DDLM) für das Windows App SDK-Frameworkpaket.
- Suchen und laden Sie das Windows App SDK-Frameworkpaket in das App-Paketdiagramm.
Um diese Aufgaben auszuführen, nutzt das Nuget-Paket Modulinitialisierer, um den Bootstrapper für Sie zu verbinden. Legen Sie einfach <WindowsPackageType>None</WindowsPackageType>
in der Projektdatei fest. In fortgeschrittenen Szenarien, wenn Sie die Kontrolle über die Initialisierung haben möchten, können Sie die Bootstrapper-API direkt im Startcode Ihrer App aufrufen (siehe Tutorial: Verwenden Sie die Bootstrapper-API in einer App, die mit einem externen Speicherort verpackt oder entpackt ist und das Windows App-SDKverwendet), damit das System für die entpackte App ordnungsgemäß initialisiert werden kann. Ihre App muss die Bootstrapper-API verwenden, bevor sie Windows App SDK-Features wie WinUI, App-Lebenszyklus, MRT Core und DWriteCore verwenden kann.
Die Bootstrapper-Bibliothek in der Windows App SDK 1.0-Version umfasst:
- Microsoft.WindowsAppRuntime.Bootstrap.dll (C++ und C#)
- Microsoft.WindowsAppRuntime.Bootstrap.Net.dll (C#-Wrapper)
Dynamischer Abhängigkeitslebenszyklus-Manager (DDLM)
Der Zweck des DDLM besteht darin, die Wartung des Windows App SDK-Frameworkpakets zu verhindern, während es von einer entpackten App verwendet wird. Sie enthält einen Server, der von dem Bootstrapper frühzeitig beim Start einer App initialisiert werden muss, um diese Funktionalität bereitzustellen.
Es gibt eine DDLM für jede Version und Architektur des Windows App SDK Framework-Pakets. Dies bedeutet, dass Sie auf einem x64
Computer über eine x86
und eine x64
Version des DDLM verfügen, um Apps beider Architekturen zu unterstützen.
Zusätzliche Anforderungen
- Für paketierte Apps ist die Abhängigkeit vom VCLibs-Frameworkpaket eine Anforderung. Weitere Informationen finden Sie unter C++-Runtime-Frameworkpakete für die Desktop-Brücke.
- Bei entpackten Apps ist Visual C++ Redistributable eine Voraussetzung. Weitere Infos finden Sie unter Microsoft Visual C++ Redistributable neueste unterstützte Downloads.
- C#. Weitere Informationen zur .NET-Laufzeit finden Sie unter .NET herunterladen.
Zugehörige Themen
Windows developer