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 die übergeordnete Architektur der Bereitstellung einer Windows App SDK erläutert. Die folgenden Konzepte gelten in erster Linie für Windows App SDK frameworkabhängige 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: Der Zugriff auf die Windows App SDK Laufzeit muss über die Bootstrap-API initialisiert werden. |
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 einem externen Speicherort verpackt oder entpackt sind
Schlüsselbegriffe
In den folgenden Abschnitten werden wichtige Begriffe für Windows App SDK Bereitstellung und weitere Details zu einigen dieser Pakete definiert.
| Begriff | Definition |
|---|---|
| Windows App SDK runtime | Die MSIX-Pakete, die von einer App benötigt werden, um die 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 Bootstrapperkomponente, 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-lokale Binärdatei, die von verpackten externen Speicherorten und entpackten Apps verwendet wird, um die beste Windows App SDK Version nach Bedarf der App zu suchen 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 den Windows App SDK verwendet, verweist Ihre App auf eine Reihe von Windows App SDK Laufzeitkomponenten, die über ein frameworkpaket an Endbenutzer verteilt werden. Mit dem Framework-Paket können Apps über eine gemeinsame Quelle auf Benutzergerät auf Windows App SDK-Komponenten zugreifen, 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 die Windows App SDK verwenden, weisen eine Abhängigkeit von einer freigegebenen Instanz des Frameworkpakets auf, wie im folgenden Diagramm dargestellt.
Wenn eine neue Version des Windows App SDK Frameworkpakets gewartet wird, werden alle frameworkabhängigen Apps auf die neue Version aktualisiert, ohne dass sie selbst eine Kopie erneut 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 Semantic Versioning 2.0.0Regeln. Dies bedeutet, dass nach der Veröffentlichung der Version 1.0 des Windows App SDK das Windows App SDK Framework-Paket die Kompatibilität bei Änderungen von Neben- und Patchversionen garantiert, und bahnbrechende Änderungen nur zwischen Hauptversions-Updates auftreten.
Singleton-Paket
Das singleton-Paket stellt sicher, dass ein einzelner langer Prozess Dienste verarbeiten kann, die in mehreren Apps verwendet werden, die möglicherweise in verschiedenen Versionen des Windows App SDK ausgeführt werden.
Der Windows App SDK Singleton ist erforderlich, um pushbenachrichtigungen zu aktivieren für entpackte Apps und verpackte Win32-Anwendungen mit Windows-Versionen unter 20H1, die von der vorhandenen UWP-PushNotificationTrigger und ToastNotificationActionTriggerklasse nicht unterstützt werden kann. 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 Verwenden Sie das Windows App SDK-Laufzeit für Anwendungen, die mit externem Standort oder ohne Verpackung gebündelt sind), die es unverpackten Anwendungen ermöglicht, diese wichtigen Aufgaben zu erfüllen:
- Initialisieren Sie den Dynamic Dependency Lifetime Manager (DDLM) für das Windows App SDK Frameworkpaket.
- Suchen und laden Sie das Windows App SDK Framework-Paket in die Paketstruktur der App.
Um diese Aufgaben auszuführen, nutzt das Nuget-Paket Auto-Initializers, um den Bootstrapper für Sie einzurichten. Legen Sie einfach <WindowsPackageType>None</WindowsPackageType> in Ihrer project Datei fest. In erweiterten Szenarien, wenn Sie Kontrolle über die Initialisierung wünschen, können Sie die Bootstrapper-API direkt im Startcode Ihrer App aufrufen (siehe Tutorial: Verwenden Sie die Bootstrapper-API in einer App, die entweder mit externem Speicherort verpackt oder entpackt ist und das Windows App SDK verwendet), 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 3, App-Lebenszyklus, MRT Core und DWriteCore verwenden kann.
Die Bootstrapper-Bibliothek in der Version des Windows App SDK 1.0 Release 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 einen DDLM für jede Version und Architektur des Windows App SDK Frameworkpakets. 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#. Informationen zur .NET Laufzeit finden Sie unter Download .NET.
Zugehörige Themen
Windows developer