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
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.
Warten Sie, bis die Überprüfung im Feld „MSIX-Verpackungstool-Treiber“ abgeschlossen wurde.
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.
Geben Sie die Paketinformationen ein.
Durchlaufen Sie das Win32-Installationsprogramm wie gewohnt.
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.
Wiederholen Sie denselben Vorgang, wenn es Dienste im Paket gibt.
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.
Konvertieren einer vorhandenen MSIX-App, um sie isoliert auszuführen
Wählen Sie die Option „Paket-Editor“ ganz rechts aus, navigieren Sie zur MSIX-Datei, und klicken Sie auf die Schaltfläche „Paket öffnen“.
Scrollen Sie nach unten zum Abschnitt „Manifestdatei“, und klicken Sie auf „Datei öffnen“.
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
zuIgnorableNamespaces
am Ende des<Package>
-Elements hinzu.
- Fügen Sie
- 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
zuIgnorableNamespaces
am Ende des<Package>
-Elements hinzu.
- Fügen Sie
- Ändern Sie in
<Dependencies>
den EintragTargetDeviceFamily
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“ durchuap10:TrustLevel="appContainer" previewsecurity2:RuntimeBehavior="appSilo"
. - Entfernen Sie in den
<Application>
-Erweiterungen alleEntryPoints=*
- oderExecutable=*
-Elemente, da diese vom übergeordneten Element<Application>
geerbt werden. - Fügen Sie
desktop7:Scope="user"
dem Erweiterungselement fürwindows.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
oderFirewallRules
, da diese dierunFullTrust
-Funktion erfordern.- Fügen Sie
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 DokumenteisolatedWin32-sysTrayIcon
– Anzeigen von Benachrichtigungen aus systrayisolatedWin32-shellExtensionContextMenu
– Anzeigen COM-basierter KontextmenüeinträgeisolatedWin32-promptForAccess
– Auffordern der Benutzer zum DateizugriffisolatedWin32-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
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.
- Wenn im Manifest Fehler vorhanden sind, finden Sie in Ereignisanzeige unter
Informationen zum Identifizieren von Funktionen, die möglicherweise im Anwendungspaketmanifest deklariert werden müssen, finden Sie im Anwendungsfunktionsprofiler.
Zugehörige Themen
Übersicht über die Win32-App-Isolation
Packen einer Win32-App-Isolationsanwendung mit Visual Studio