Partager via


Empaquetage d'une application avec isolation Win32 avec Visual Studio

Cette page couvre tout ce qui est nécessaire pour empaqueter une application afin de tirer parti de l’isolation des applications Win32.

Important

Cette fonctionnalité est en cours d'évaluation : Certaines informations concernent un produit en préversion qui peut être modifié de manière substantielle avant d'être commercialisé. Microsoft n’offre aucune garantie, expresse ou implicite, concernant les informations fournies ici.

Prérequis nécessaires

Les prérequis suivants sont nécessaires pour empaqueter une application dans une application Win32 isolée :

  • Visual Studio version 17.10.2 ou une version supérieure

Étape 1 : Installer les charges de travail requises dans Visual Studio, y compris Windows 11 SDK 10.0.26100.0 (ou supérieur)

Ouvrez le Visual Studio Installer et modifiez l'installation existante. Dans l'onglet Charges de travail, cochez la case Développement d'applications Windows (et, si nécessaire, cochez la case Outils de développement d'applications C++ WinUI pour le développement en C++). Le SDK Windows 11 10.0.26100.0 (ou une version supérieure) est également requis.

Capture d'écran montrant les charges de travail requises à installer dans Visual Studio

Étape 2 : Créez votre projet d'application

Dans Visual Studio, créez un nouveau projet C# ou C++ en utilisant le modèle Application vide, empaquetée avec le projet de packaging d'application Windows (WinUI 3 sur Desktop). Cliquez sur Créer, puis sélectionnez 10.0.26100.0 (ou une version plus récente) pour la version de la plate-forme cible (TPV) et la version minimale de la plate-forme cible (TPMinV).

Capture d’écran montrant un modèle pour une application vide avec un projet d’empaquetage Windows dans Visual Studio

Capture d'écran montrant l'écran Nouveau projet dans Visual Studio

Capture d'écran montrant l'écran du nouveau projet WinUI dans Visual Studio

Étape 3 : Installez Microsoft.Windows.SDK.BuildTools version 10.0.26100.1 ou une version ultérieure avec NuGet

Allez dans Projet -> Gérer les packages NuGet pour installer Microsoft.Windows.SDK.BuildTools version 10.0.26100.1 (ou une version ultérieure).

Capture d'écran montrant l'écran de gestion des packages NuGet dans Visual Studio

Capture d'écran montrant le package Microsoft.Windows.SDK.BuildTools sur l'écran NuGet dans Visual Studio

Capture d'écran montrant les informations pour le package Build Tools sur l'écran NuGet dans Visual Studio

Étape 4 : Modifier le fichier Packaging.appxmanifest

Dans le fichier manifest, les modifications suivantes devront être apportées :

Remarque : Les applications Win32 isolées ne sont pas compatibles avec d'autres types d'applications dans le même package.

  • Ajoutez xmlns:previewsecurity2="http://schemas.microsoft.com/appx/manifest/preview/windows10/security/2" à l'élément <Package> s'il n'y est pas déjà.

    • Ajoutez previewsecurity2 à IgnorableNamespaces à la fin de l'élément <Package>.
  • Ajoutez xmlns:uap10="http://schemas.microsoft.com/appx/manifest/uap/windows10/10" à l'élément <Package> s'il n'y est pas déjà.

    • Ajoutez uap10 à IgnorableNamespaces à la fin de l'élément <Package>.
  • Dans <Dependencies> changez TargetDeviceFamily en <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.26100.0" MaxVersionTested="10.0.26100.0" />.

    Remarque

    Toutes les fonctionnalités ne sont pas disponibles dans la build minimale, veuillez consulter les notes de version pour plus d'informations détaillées.

  • Dans <Application>, remplacez toute entrée existante de point d'entrée/niveau de confiance/comportement d'exécution par uap10:TrustLevel="appContainer" previewsecurity2:RuntimeBehavior="appSilo".

  • Dans les extensions <Application>, supprimez tout EntryPoints=* ou Executable=* car ils sont hérités de l'élément parent <Application>.

  • Ajoutez desktop7:Scope="user" à l'élément extension pour windows.protocol.

    Remarque

    Par défaut, Visual Studio ajoutera automatiquement <rescap:Capability name="runFullTrust"> à <Capabilities> en raison du fait que l'application est une Win32 empaquetée. Cela doit être supprimé à moins que l'application ait d'autres extensions manifestées qui peuvent affecter l'état global de l'utilisateur, telles que comServer ou FirewallRules, car elles nécessitent la capacité runFullTrust.

Capture d'écran montrant la configuration de l'application de packaging dans Visual Studio

Étape 5 : Créer et publier des packages d'application

Créez la solution Visual Studio.

Capture d'écran montrant la construction de la solution dans Visual Studio

Publiez le package d'application en utilisant l'assistant Créer des packages d'application....

Capture d'écran montrant l'assistant de création de packages d'application dans Visual Studio

Capture d'écran montrant l'étape de création dans l'assistant de packages d'application dans Visual Studio

Après la publication des packages d'application, l'emplacement de sortie affiché montre le répertoire racine où le package MSIX est publié par version. Ouvrez le dossier de version pour trouver le fichier Install.ps1 pour installer l'application.

Capture d'écran montrant que le packaging a été créé avec succès par l'assistant dans Visual Studio

Aperçu de l'isolation des applications

Profiler des capacités d'application

Empaquetage d'une application Win32 isolée avec MSIX