Freigeben über


Packen einer isolierten Win32-App mit MSIX

Das Packen einer vorhandenen MSIX- oder Win32-Anwendung in eine Win32-App-Isolationsanwendung erfolgt über das MSIX-Verpackungstool (MSIX Packaging Tool, MPT). Beachten Sie, dass die Version von MPT, die Win32-App-Isolation unterstützt, v1.2023.517.0 lautet und in den Releaseressourcen dieses Projekts verfügbar ist. Die Store-Version von MPT ist für die Zwecke der Win32-App-Isolation veraltet. Weitere Dokumentationen für MPT finden Sie hier.

Sie finden den Download für MPT sowie den Profiler im Abschnitt Versionen des GitHub-Repositorys für Win32-App-Isolation.

Wichtig

Dieses Feature befindet sich in der Vorschauphase: Einige Informationen beziehen sich auf ein Vorabversionsprodukt, an dem vor der kommerziellen Freigabe möglicherweise wesentliche Änderungen vorgenommen werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.

Konvertieren eines vorhandenen Win32-Installationsprogramms in eine MSIX-App

  1. Wählen Sie ganz links „Anwendungspaket“ aus, und wählen Sie aus, wo das Paket erstellt wird. Dieser Flow folgt der Option „Paket auf diesem Computer erstellen“.

    Hinweis

    Dies führt dazu, dass die App nach Abschluss von Schritt 5 als normale Win32-App installiert wird.

    Screenshot der Hauptseite des MSIX-Verpackungstools

  2. Warten Sie, bis die Überprüfung im Feld „MSIX-Verpackungstool-Treiber“ abgeschlossen wurde.

    Screenshot: Seite „Neues Paket erstellen“ des MSIX-Verpackungstools

  3. Navigieren Sie mit der Schaltfläche „Durchsuchen“ zu dem Win32-Installationsprogramm, und wählen Sie es aus. Lassen Sie die Signatureinstellung leer, da wir das Manifest bearbeiten und erneut signieren müssen.

    Screenshot: Seite „Installationsprogramm auswählen“ des MSIX-Verpackungstools

  4. Geben Sie die Paketinformationen ein.

    Screenshot: Seite „Paketinformationen“ im MSIX-Verpackungstool

  5. Durchlaufen Sie das Win32-Installationsprogramm wie gewohnt.

  6. Wenn neben dem Hauptpunkt zusätzliche Einstiegspunkte vorhanden sind, starten Sie sie, oder navigieren Sie zu diesen. Wenn die App über Optionen für die Dateitypzuordnung in „settings/config/preferences“ verfügt, schalten Sie sie in diesem Schritt um, damit MSIX sie übernimmt.

  7. Wiederholen Sie denselben Vorgang, wenn es Dienste im Paket gibt.

  8. Durch Klicken auf „Erstellen“ wird das Paket als ein vollständig vertrauenswürdig eingestuftes Paket gespeichert. Klicken Sie im Hauptmenü auf die Schaltfläche „Paket-Editor“, um zum Flow „Paket-Editor“ zu wechseln. Dies kann je nach Größe des Pakets einige Minuten dauern.

    Screenshot der endgültigen Seite „Paket erstellen“ beim Erstellen eines Pakets im MSIX-Verpackungstool

Konvertieren einer vorhandenen MSIX-App, um sie isoliert auszuführen

  1. Wählen Sie die Option „Paket-Editor“ ganz rechts aus, navigieren Sie zur MSIX-Datei, und klicken Sie auf die Schaltfläche „Paket öffnen“.

    Screenshot der Hauptseite vor dem Klicken auf „Paket öffnen“ im MSIX-Verpackungstool

  2. Scrollen Sie nach unten zum Abschnitt „Manifestdatei“, und klicken Sie auf „Datei öffnen“.

    Screenshot der Seite „Paketinformationen“ nach dem Klicken auf „Paket öffnen“ im MSIX-Verpackungstool

    Im Manifest müssen die folgenden Änderungen vorgenommen werden.

    Hinweis

    Isolierte Win32-Anwendungen sind nicht mit anderen Anwendungstypen innerhalb desselben Pakets kompatibel.

    • Fügen Sie xmlns:previewsecurity2="http://schemas.microsoft.com/appx/manifest/preview/windows10/security/2" dem Element <Package> hinzu, falls noch nicht vorhanden.
      • Fügen Sie previewsecurity2 zu IgnorableNamespaces am Ende des <Package>-Elements hinzu.
    • Fügen Sie xmlns:uap10="http://schemas.microsoft.com/appx/manifest/uap/windows10/10" dem Element <Package> hinzu, falls noch nicht vorhanden.
      • Fügen Sie uap10 zu IgnorableNamespaces am Ende des <Package>-Elements hinzu.
    • Ändern Sie in <Dependencies> den Eintrag TargetDeviceFamily in <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.25357.0" MaxVersionTested="10.0.25357.0" />.

      Hinweis

      Nicht alle Features sind im Mindestbuild verfügbar. Ausführlichere Informationen finden Sie in den Versionshinweisen.

    • Ersetzen Sie in <Application> alle vorhandenen Elemente für „entrypoint/trustlevel/runtimebehavior“ durch uap10:TrustLevel="appContainer" previewsecurity2:RuntimeBehavior="appSilo".
    • Entfernen Sie in den <Application>-Erweiterungen alle EntryPoints=*- oder Executable=*-Elemente, da diese vom übergeordneten Element <Application> geerbt werden.
    • Fügen Sie desktop7:Scope="user" dem Erweiterungselement für windows.protocol hinzu.

    Hinweis

    Standardmäßig fügt MPT automatisch <rescap:Capability name="runFullTrust"> zu <Capabilities> hinzu, da es sich um eine verpackte Win32-App handelt. Dies sollte entfernt werden, es sei denn, die App verfügt über andere manifestierte Erweiterungen, die sich auf den globalen Benutzerstatus auswirken können, z. B. comServer oder FirewallRules, da diese die runFullTrust-Funktion erfordern.

    Screenshot: Inhalt der App-Manifestdatei

  3. Die App benötigt möglicherweise zusätzliche Funktionen, um ordnungsgemäß zu funktionieren, nachdem sie isoliert wurde.

    Diese Funktionen fügen den isolierten Apps direkt Funktionen hinzu.

    • isolatedWin32-print – Drucken der Dokumente
    • isolatedWin32-sysTrayIcon – Anzeigen von Benachrichtigungen aus systray
    • isolatedWin32-shellExtensionContextMenu – Anzeigen COM-basierter Kontextmenüeinträge
    • isolatedWin32-promptForAccess – Auffordern der Benutzer zum Dateizugriff
    • isolatedWin32-accessToPublisherDirectory – Zugriff auf Verzeichnisse, die mit der Herausgeber-ID enden

    Diese Funktionen ermöglichen minimalen Zugriff auf Bibliotheken wie MSVC-Runtime oder andere Windows-/Drittanbieter-DLLs für Anwendungen, die keine Eingabeaufforderung unterstützen.

    • isolatedWin32-dotNetBreadcrumbStore
    • isolatedWin32-profilesRootMinimal
    • isolatedWin32-userProfileMinimal
    • isolatedWin32-volumeRootMinimal
  4. Speichern und schließen Sie das Manifestfenster. Wenn im Manifest Fehler auftreten, zeigt MPT sie an. Wählen Sie „Erstellen/Speichern“ aus, um die MSIX-Datei zu generieren. Dies kann je nach Größe des Pakets einige Minuten dauern.

    • Wenn im Manifest Fehler vorhanden sind, finden Sie in Ereignisanzeige unter Application and Services/Microsoft/Windows/AppxPackagingOM/Microsoft-Windows-AppxPackaging/Operational eine aussagekräftigere Fehlermeldung.
  5. Informationen zum Identifizieren von Funktionen, die möglicherweise im Anwendungspaketmanifest deklariert werden müssen, finden Sie im Anwendungsfunktionsprofiler.

Übersicht über die Win32-App-Isolation

Anwendungsfunktionsprofiler

Packen einer Win32-App-Isolationsanwendung mit Visual Studio