Freigeben über


Auswählen eines Verpackungsmodells für Ihre Windows-App

Hinweis

Erstellen einer neuen WinUI 3-App? Sie sind bereits standardmäßig gepackt. Diese Seite richtet sich an Entwickler, die eine explizite Auswahl treffen müssen – in der Regel beim Portieren einer vorhandenen App, beim Bereitstellen auf Unternehmenscomputern oder beim Hinzufügen von Windows-Features zu einer App, die ursprünglich nicht verpackt wurde.

Windows-Apps können verpackt, entpackt oder irgendwo dazwischen verpackt werden. Die richtige Wahl hängt von zwei Dingen ab: wie Sie Ihre App verteilen und welche Windows-Features Sie benötigen.

Beginnen Sie mit Ihrem Szenario

"Ich bin ein Indie-Entwickler, der im Microsoft Store veröffentlicht wird"

Verwenden Sie eine verpackte MSIX-App. Der Store erfordert MSIX-Verpackungen. WinUI 3-Apps, die in Visual Studio erstellt wurden, sind standardmäßig gepackt– Sie müssen keine Änderungen vornehmen. Sie erhalten eine saubere Installation, automatische Updates und Zugriff auf alle paketidentitätsgeschützten Funktionen wie Benachrichtigungen und Hintergrundaufgaben.

Verteilen Ihrer verpackten App


"Ich baue eine Unternehmens-App, die über Intune oder Configuration Manager bereitgestellt wird"

Fertig verpackt starten; Ziehen Sie einen externen Speicherort in Betracht, wenn Sie bereits über ein Installationsprogramm verfügen.

  • Wenn Sie eine neue App erstellen, verwenden Sie MSIX. Es ist sauber in Intune und SCCM/ConfigMgr integriert und bietet Ihnen die vollständige Paketidentität.
  • Wenn Sie über eine vorhandene App mit einem eigenen Installationsprogramm verfügen, das Sie nicht ersetzen können, verwenden Sie das Verpacken mit externem Speicherort. Dadurch erhalten Sie die Identität Ihres App-Pakets und den Zugriff auf Features wie Benachrichtigungen und Hintergrundaufgaben, ohne zu ändern, wie oder wo Sie bereitstellen.
  • Wenn Ihre App wirklich keine Windows-Identity-Gated-Features benötigt und Sie die Bereitstellungsumgebung kontrollieren, funktionieren nicht paketierte Apps, aber Sie stoßen an Grenzen, sobald Sie versuchen, Benachrichtigungen oder KI-Funktionen hinzuzufügen.

Bereitstellen verpackter Apps (Windows App SDK)
Gewähren der Paketidentität durch Verpacken mit externem Speicherort


Ich bin ein ISV und biete einen direkten Download mit meinem eigenen Installationsprogramm an.

Verwenden Sie Verpackungen mit externem Speicherort (früher als Sparsepakete bezeichnet).

Dies ist der ideale Punkt für bestehende Win32/WPF/WinForms-Apps, die über ihr eigenes Installationsprogramm (NSIS, WiX, InstallShield usw.) bereitgestellt werden und nicht durch MSIX ersetzt werden wollen. Sie registrieren ein leichtgewichtiges Identitätspaket zusammen mit Ihrem vorhandenen Installationsprogramm, Ihre Binärdateien bleiben dort, wo sie sind, und Sie entsperren die durch Paketidentität gesperrten Windows-Features in vollem Umfang.

Ihre Benutzer sehen keine Änderung der Installation oder Aktualisierung Ihrer App. Sie erhalten die Windows-Features; sie erhalten eine vertraute Erfahrung.

Gewähren der Paketidentität durch Verpacken mit externem Speicherort
Hinzufügen eines Identitätspakets in Visual Studio


"Ich baue ein internes Tool oder Entwicklerprogramm"

Entpackt ist in Ordnung – mit Vorbehalten.

Entpackte Apps sind am einfachsten zu erstellen und bereitzustellen: Xcopy, Robocopy oder ein einfaches Skript ist alles, was Sie benötigen. Das Windows App SDK funktioniert in entpackten Apps über NuGet. Einige Features werden jedoch nicht verfügbar sein, und wenn Sie später feststellen, dass Sie diese benötigen, ist die Einbindung der Paketidentität nicht trivial.

Bevor Sie sich für das Entpacken verpflichten, überprüfen Sie die nachstehende Featuretabelle anhand Ihrer Roadmap. Wenn Benachrichtigungen, Hintergrundaufgaben oder KI-APIs am Horizont liegen, sollten Sie das Paket starten.


Verpackungsmodelle auf einen Blick

Modell Paketidentität Installationsprogramm Berechtigter Store Am besten geeignet für:
Verpackt (MSIX) ✅ Ja MSIX ersetzt installationsprogramm ✅ Ja Neue Apps, Store-Veröffentlichung, Unternehmens-MDM
Verpacken mit externem Standort ✅ Ja Ihr vorhandenes Installationsprogramm ❌ Nein Vorhandene Apps mit eigenem Installationsprogramm, ISVs
Unverpackt ❌ Nein XCopy / Skript ❌ Nein Interne Tools, Entwicklerprogramme, einfache Szenarien

Features, für die Paketidentität benötigt wird

Diese Windows-Features funktionieren nur in Apps mit Paketidentität – entweder über vollständige MSIX-Verpackungen oder Verpackungen mit externem Speicherort.

Funktion Hinweise
App-Benachrichtigungen (Toast) AppNotificationManager erfordert Paketidentität
Hintergrundaufgaben Für die Registrierung ist eine Paketidentität erforderlich.
Windows AI-APIs (Phi-Silika, OCR usw.) Die meisten Windows AI-APIs erfordern paketidentität
Pushbenachrichtigungen (WNS) Kanalregistrierung erfordert Paketidentität
Freigabeziel Im Paketmanifest deklariert
Benutzerdefinierte Kontextmenüerweiterungen Im Paketmanifest deklariert
Dateityp- und Protokollzuordnungen Umfangreiche Zuordnungen erfordern paketidentität
Startaufgaben Erfordert Paketidentität
App-Dienste Erfordert Paketidentität

Tipp

Wenn Sie entpackt sind und beim Aufrufen von Windows-APIs auf E_ILLEGAL_METHOD_CALL- oder APPMODEL_ERROR_NO_PACKAGE-Fehler stoßen, liegt dies an der Paketidentitätsanforderung. Sehen Sie Verpackungen mit externem Standort als Lösung mit minimalem Reibungsverlust an.

Verpacken mit Standort außerhalb

Durch das Verpacken mit externen Speicherorten (auch als "Sparsepakete" bezeichnet) können Sie ein kleines Identitätspaket zusammen mit Ihrer vorhandenen App registrieren, ohne dass Sie das Installationsprogramm, die binären Speicherorte oder den Aktualisierungsprozess ändern müssen. Es wurde in Windows 10 Version 2004 (Build 19041) eingeführt.

Sie stellen Folgendes bereit:

  • Ein Paketmanifest (XML-Datei, die Ihre App-Identität beschreibt)
  • Ein signiertes .msix Element, das nur das Manifest enthält (keine Binärdateien)

Ihr vorhandenes Installationsprogramm registriert dieses Identitätspaket, und Windows behandelt Ihre App ab diesem Zeitpunkt als eine App mit Paketidentität.

Dies unterscheidet sich von der vollständigen MSIX-Verpackung:

MSIX Externer Speicherort
Ersetzt ihr Installationsprogramm Ja No
Binärdateien innerhalb des Pakets Ja Nein (extern)
Berechtigter Store Ja No
Paketidentität Ja Ja
Updatemechanismus MSIX-Aktualisierung Ihr vorhandener Mechanismus

Komplette Anleitung: Gewähren der Paketidentität durch Paketieren mit externem Speicherort

Frameworkabhängige und eigenständige Bereitstellung

Unabhängig vom Paketmodell wählen Apps mit dem Windows App SDK aus, wie ihre Laufzeitabhängigkeiten übertragen werden:

  • Rahmenabhängig: Die SDK-Laufzeit des Windows-App muss auf dem Computer des Benutzers installiert sein. Geringerer App-Speicherbedarf; basiert auf der Laufzeit, die vorhanden oder automatisch installiert wird.
  • Eigenständig: Alle Binärdateien des Windows App SDK werden mit Ihrer App ausgeliefert. Größerer Fußabdruck; keine externe Laufzeitanforderung. Gut für gesperrte Unternehmensumgebungen.

Bereitstellen eigenständiger Apps