Freigeben über


Packen einer Win32-App-Isolationsanwendung mit Visual Studio

Auf dieser Seite erhalten Sie Informationen dazu, was zum Packen einer Anwendung erforderlich ist, um die Win32-App-Isolation zu nutzen.

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.

Voraussetzungen

Um eine Anwendung in eine isolierte Win32-App zu verpacken, sind folgende Punkte erforderlich:

  • Visual Studio Version 17.10.2 oder höher

Schritt 1: Installieren der erforderlichen Workloads in Visual Studio, einschließlich Windows 11 SDK 10.0.26100.0 (oder höher)

Öffnen Sie das Visual Studio-Installationsprogramm, und ändern Sie die vorhandene Installation. Aktivieren Sie auf der Registerkarte „Workloads“ das Kontrollkästchen Entwicklung von Windows-Anwendungen (und aktivieren Sie optional das Kontrollkästchen C++-WinUI-App-Entwicklungstools für die Entwicklung in C++). Windows 11 SDK 10.0.26100.0 oder höher ist erforderlich.

Screenshot der erforderlichen Workloads, die in Visual Studio installiert werden sollen

Schritt 2: Erstellen Ihres App-Projekts

Erstellen Sie in Visual Studio ein neues C#- oder C++-Projekt, indem Sie die Vorlage Leere App, gepackt mit Paketerstellungsprojekt für Windows-Anwendungen (WinUI 3 in Desktop) verwenden. Klicken Sie auf Erstellen, und wählen Sie dann 10.0.26100.0 (oder höher) für die Zielplattformversion (Target Platform Version, TPV) und die Mindestversion der Zielplattform (Target Platform Minimum Version, TPMinV) aus.

Screenshot einer Vorlage für eine leere App mit Windows-Paketerstellungsprojekt in Visual Studio

Screenshot: Bildschirm „Neues Projekt“ in Visual Studio

Screenshot des Fensters „Neues WinUI-Projekt“ in Visual Studio

Schritt 3: Installieren von Microsoft.Windows.SDK.BuildTools, Version 10.0.26100.1742 oder höher mit NuGet

Wechseln Sie zu Project > NuGet-Pakete verwalten zum Installieren von Microsoft.Windows.SDK.BuildTools, Version 10.0.26100.1 (oder höher).

Ein Screenshot des Bildschirms zum Verwalten von NuGet-Paketen in Visual Studio

Screenshot des Pakets „Microsoft.Windows.SDK.BuildTools“ auf dem NuGet-Bildschirm in Visual Studio

Screenshot mit den Informationen für das Paket „Buildtools“ auf dem NuGet-Bildschirm in Visual Studio

Schritt 4: Bearbeiten der Packaging.appxmanifest- und Projektdateien

In der Manifestdatei müssen die folgenden Änderungen vorgenommen werden:

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

  • Fügen Sie xmlns:uap18="http://schemas.microsoft.com/appx/manifest/uap/windows10/18" dem Element <Package> hinzu, falls noch nicht vorhanden.

    • Fügen Sie uap18 zu IgnorableNamespaces am Ende des <Package>-Elements hinzu.
  • Ändern Sie in <Dependencies> den Eintrag TargetDeviceFamily in <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.26100.0" MaxVersionTested="10.0.26226.0" />.

    Hinweis

    Nicht alle Features sind im Mindestbuild verfügbar. Ausführlichere Informationen finden Sie in den Versionshinweisen. Darüber hinaus ermöglichen die folgenden Manifeständerungen, dass die App zu einer isolierten App wird, aber sie kann weiterhin als Win32-App in Betriebssystemen laufen, in denen die Win32-App-Isolation nicht unterstützt wird.

  • Ersetzen Sie in <Application> alle vorhandenen „entrypoint/trustlevel/runtimebehavior“-Elemente durch EntryPoint="Windows.FullTrustApplication"uap18:EntryPoint="Isolated.App"uap18:TrustLevel="appContainer" uap18: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 Visual Studio automatisch <rescap:Capability name="runFullTrust"> zu <Capabilities> hinzu, da die App ein gepacktes Win32-Projekt ist. 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.

Ein Screenshot, der die Konfiguration der Paketerstellungs-App in Visual Studio zeigt

  • Fügen Sie <AppxOSMaxVersionTestedReplaceManifestVersion>false</AppxOSMaxVersionTestedReplaceManifestVersion> in der Wapproj-Datei direkt nach den Zielplattform-Versionszeilen hinzu Ein Screenshot, der die Projektdateikonfiguration in Visual Studio zeigt

Schritt 5: Erstellen und Veröffentlichen von App-Paketen

Erstellen Sie die Visual Studio-Projektmappe.

Screenshot: Erstellen von Projektmappen in Visual Studio

Veröffentlichen Sie das App-Paket mithilfe des Assistenten zum Erstellen von App-Paketen ....

Screenshot des Assistenten zum Erstellen von App-Paketen in Visual Studio

Screenshot: Erstellungsschritt im Assistenten zum Erstellen von App-Paketen in Visual Studio

Nach dem Veröffentlichen der App-Pakete zeigt der Ausgabespeicherort das Stammverzeichnis an, in dem das MSIX-Paket nach Version veröffentlicht wird. Öffnen Sie den Versionsordner, um die Datei „Install.ps1“ für die Installation der App zu finden.

Screenshot, der zeigt, dass die Verpackung erfolgreich vom Assistenten in Visual Studio erstellt wurde

Übersicht über die App-Isolation

Anwendungsfunktionsprofiler

Packen einer isolierten Win32-App mit MSIX