Freigeben über


Übersicht über die Verpackung

Das Verpacken definiert, wie Ihre App mit Windows installiert, aktualisiert und integriert wird. WinUI 3-Apps werden standardmäßig verpackt, während viele Desktop-Apps, z. B. herkömmliche Win32-Anwendungen, entpackt ausgeführt werden. Die Auswahl zwischen einer verpackten oder entpackten App wirkt sich auf die Features aus, die Sie verwenden können, das Bereitstellungsmodell, auf das Sie sich verlassen, und die allgemeine Benutzererfahrung, die Ihre Kunden erhalten.

Hinweis

Erstellen einer neuen WinUI 3-App? Sie sind bereits standardmäßig gepackt. Die nachstehende Anleitung ist für Entwickler relevant, 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.

Warum das Verpacken von Apps wichtig ist

Verpackte Apps profitieren von einem Bereitstellungsmodell mit sauberer Installation, automatischen Updates und Zugriff auf Windows-Features, die eine Paketidentität erfordern – einschließlich Hintergrundaufgaben, Benachrichtigungen, Erweiterungen für das Kontextmenü, Freigabeziele und andere Erweiterbarkeitspunkte. Das Verpacken trägt auch dazu bei, sauberere Bereitstellungen, zuverlässige Updates und optimierte Verteilung über Kanäle wie die Microsoft Store- und Unternehmensbereitstellungstools sicherzustellen.

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 Packaging mit externem Speicherort (Sparse packaging).

Funktion Beschreibung
Hintergrundaufgaben Führen Sie Code aus, wenn sich Ihre App nicht im Vordergrund befindet , z. B. um Daten zu synchronisieren, Downloads zu verarbeiten oder auf Systemereignisse zu reagieren.
Windows AI-APIs (Phi-Silika, OCR usw.) Greifen Sie auf KI-Funktionen wie lokale Sprachmodelle, Texterkennung und Bildanalyse zu.
Pushbenachrichtigungen (WNS) Empfangen Sie Echtzeitbenachrichtigungen von Ihrem Clouddienst über den Windows-Benachrichtigungsdienst.
Freigabeziel Ermöglichen Sie Benutzern, Inhalte aus anderen Apps direkt über das Systemfreigabeblatt in Ihre Apps zu teilen.
Benutzerdefinierte Kontextmenüerweiterungen Fügen Sie die Aktionen Ihrer App dem Kontextmenü des Datei-Explorers und anderer Shelloberflächen hinzu.
Dateityp- und Protokollzuordnungen Registrieren Sie Ihre App als Handler für bestimmte Dateitypen oder URI-Protokolle (z. B yourapp://. ).
Startaufgaben Starten Sie Ihre App automatisch, wenn sich der Benutzer bei Windows anmeldet.
App-Dienste Machen Sie Hintergrunddienste verfügbar, die andere Apps aufrufen können, wodurch die Kommunikation zwischen Apps ermöglicht wird.

Tipp

Wenn Sie beim Aufrufen von Windows APIs auf E_ILLEGAL_METHOD_CALL oder APPMODEL_ERROR_NO_PACKAGE Fehler stoßen, liegt dies an der Paketidentitätsanforderung. Betrachten Sie Verpackungen mit externer Lokation (Sparse Packaging) als eine Lösung mit minimaler Reibung.

Weitere Informationen finden Sie unter Features, die Paketidentität erfordern.

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

Verpackte Apps (MSIX)

Verpackte Apps verwenden MSIX und verfügen über Package Identity, die für viele Windows Erweiterbarkeitspunkte erforderlich ist. Die Paketidentität ermöglicht es Windows, den Aufrufer von Plattform-APIs zuverlässig zu identifizieren, weshalb diese Features davon abhängen.

  • Verpackte Apps werden in der Regel in einem einfachen App-Container mit Dateisystem- und Registrierungsvirtualisierung ausgeführt (siehe AppContainer für Ältere Apps und MSIX AppContainer-Apps).
  • Apps können auch so konfiguriert werden, dass sie bei Bedarf nicht in einem App-Container ausgeführt werden.
  • MSIX wird sowohl für die Verpackung als auch für die Installation verwendet (siehe Was ist MSIX?).

Verpackung mit externem Standort (spärliche Verpackung)

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

Dies ist der optimale Punkt für bestehende Win32/WPF/WinForms-Anwendungen, die über ein eigenes Installationsprogramm (NSIS, WiX, InstallShield usw.) ausgeliefert werden und nicht durch MSIX ersetzt werden sollen. Sie registrieren ein leichtes Identitätspaket, Ihre Binärdateien bleiben dort, wo sie sind, und Sie entsperren den vollständigen Satz von paketidentitätsgesperrten Windows-Funktionen.

Fähigkeit 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

Entpackte Apps

Entpackte Apps verwenden MSIX nicht und besitzen keine Paketidentität, was bedeutet, dass sie nicht auf die oben aufgeführten Features zugreifen können.

  • Sie bleiben in Bezug auf API-Oberfläche, Dateisystemzugriff, Registryzugriff, Rechteerhöhung und Prozessmodell uneingeschränkt.
  • Installation und Updates basieren auf .exe, .msi und benutzerdefinierten Installationsprogrammen, ClickOnce oder xcopy-Bereitstellung.

Bevor Sie sich für die Verwendung ohne Verpackung entscheiden, überprüfen Sie die obige Funktionstabelle anhand Ihrer Roadmap. Wenn Benachrichtigungen, Hintergrundaufgaben oder KI-APIs am Horizont liegen, sollten Sie das Paket starten.

Nach Szenario auswählen

Szenario Empfohlenes Modell Einzelheiten
Indie-Entwickler veröffentlicht im Microsoft Store Verpackt (MSIX) Der Store erfordert MSIX. WinUI 3-Apps werden standardmäßig verpackt – keine Änderungen erforderlich. → Verteilen Ihrer verpackten App
Enterprise-App über Intune oder Konfigurations-Manager bereitgestellt Verpackter oder externer Speicherort für vorhandene Installationsprogramme Neue Apps sollten MSIX verwenden. Vorhandene Apps mit ihrem eigenen Installationsprogramm können verpackungen mit externem Speicherort verwenden. → Bereitstellen von verpackten Apps
ISV versenden einen Direktdownload mit eigenem Installationsprogramm Verpacken mit Standort außerhalb Registrieren Sie ein einfaches Identitätspaket zusammen mit Ihrem vorhandenen Installationsprogramm. Benutzer sehen keine Änderung; Sie erhalten Windows Features. → Paketidentität gewähren
Internes Tool oder Entwicklerprogramm Unverpackt Am einfachsten erstellen und bereitstellen. Die Windows App SDK funktioniert über NuGet, aber einige Features sind nicht verfügbar.

Frameworkabhängige und eigenständige Bereitstellung

Apps, die die Windows App SDK verwenden, wählen getrennt vom Paketmodell aus, wie ihre Laufzeitabhängigkeiten übertragen werden:

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

Bereitstellen eigenständiger Apps

Erste Schritte mit MSIX

Wenn Sie eine Win32-Desktop-App (manchmal als classic-Desktop-App bezeichnet) oder eine .NET-App erstellen – einschließlich Windows Presentation Foundation (WPF) und Windows Forms (WinForms) – können Sie Ihre App mithilfe von MSIX packen und bereitstellen.

Andere Installationstechnologien