Vue d’ensemble de la conteneurisation MSIX

MSIX utilise un modèle de conteneurisation pour isoler les applications du reste du système. Contrairement aux technologies de conteneur à usage général (comme Docker), les conteneurs MSIX ne sont pas des machines virtuelles et ne nécessitent pas d’image de système d’exploitation distincte. Au lieu de cela, Windows redirige l'activité du système de fichiers et du Registre d'une application au moment de l'exécution, en conservant les applications autonomes tout en leur permettant d'interagir avec le reste de Windows normalement.

Cet article explique le modèle d’isolation, les deux niveaux de confiance disponibles pour les applications empaquetées et les avantages fournis par cette approche.

Qu’est-ce que la conteneurisation MSIX est (et n’est pas)

Lorsque vous installez un package MSIX, Windows place les fichiers de l'application dans un emplacement protégé (C:\Program Files\WindowsApps\) que l'application elle-même ne peut pas modifier. Au moment de l'exécution, Windows fournit à l'application une vue virtualisée du système de fichiers et du Registre : les lectures accèdent à l'emplacement d'installation du package, et les écritures sont redirigées vers des emplacements par utilisateur qui Windows gère.

En d’autres termes :

  • Les fichiers d’installation de l’application ne sont jamais modifiés au moment de l’exécution.
  • L’état de l’application est stocké séparément des fichiers binaires d’application , ce qui rend les mises à jour, les réparations et les désinstallations propres et fiables.

Note

Les conteneurs MSIX sont une fonctionnalité d’exécution Windows, pas un environnement de système d’exploitation distinct. L’application s’exécute en tant que processus de Windows natif : elle a simplement une vue virtualisée de certaines ressources système.

Deux niveaux de confiance

Les applications empaquetées s’exécutent à l’un des deux niveaux de confiance, qui déterminent le degré d’isolation :

Confiance totale (intégrité moyenne)

Les applications de confiance totale s’exécutent avec les mêmes autorisations qu’une application de bureau standard. Windows fournit package identity et une virtualisation de fichier/registre, mais l’application peut toujours accéder directement à la plupart des ressources système.

Il s’agit de la valeur par défaut pour les applications converties à partir des programmes d’installation Win32 à l’aide de MSIX Packaging Tool et pour la plupart des applications de bureau WinUI 3.

AppContainer (approbation partielle)

Les applications AppContainer s’exécutent dans un environnement strictement isolé. Le processus et ses enfants peuvent accéder uniquement aux ressources qui sont explicitement accordées. Windows applique l’isolation à l’aide du système de fichiers et de la virtualisation du Registre et des limites de sécurité AppContainer.

Les applications UWP s’exécutent toujours dans un AppContainer. Les applications de bureau peuvent également opter pour AppContainer en la déclarant dans le manifeste de l’application.

Conseil / Astuce

Les applications AppContainer bénéficient des garanties de sécurité les plus fortes, mais nécessitent davantage de travail pour configurer correctement, en particulier pour les applications qui s’appuient sur un accès au système étendu. Pour connaître les étapes de configuration, consultez les applications MSIX AppContainer .

Avantages du modèle de conteneurisation MSIX

Avantage Description
Désinstallation propre Étant donné que Windows effectue le suivi de l’état de l’application séparément, la désinstallation d’un package MSIX supprime tous les fichiers d’application, les entrées de Registre et les modifications système, sans artefacts de reste. Les fichiers créés par l’utilisateur sont conservés.
Mises à jour fiables Les fichiers binaires d’application sont en lecture seule au moment de l’exécution. Les mises à jour remplacent le package de manière atomique et l’application peut être restaurée si nécessaire.
Aucune pollution du registre Les écritures de Registre depuis l'application vont à une ruche virtuelle par utilisateur, et non à HKEY_LOCAL_MACHINE. Cela empêche l’extension du registre commune aux programmes d’installation Win32 traditionnels.
Isolation de sécurité Les applications AppContainer sont limitées aux ressources explicitement accordées, ce qui réduit l’impact d’un processus compromis.
Mise en œuvre de l’intégrité Windows peut détecter toute altération des fichiers de paquet au moment de l’exécution. Si un package est falsifié, Windows bloque le lancement et déclenche la réparation. Consultez Vue d’ensemble du package MSIX.

Étendue de virtualisation

Tous les emplacements du système de fichiers et du Registre ne sont pas virtualisés. Windows applique un comportement différent en fonction de l’emplacement auquel vous accédez :

  • Les écritures dans les fichiers d’installation de package sont bloquées : l’emplacement d’installation est en lecture seule.
  • Les écritures dans les emplacements system (par exemple, C:\Windows\) sont bloquées pour les applications AppContainer.
  • Les écritures dans les emplacements de profil utilisateur (par exemple AppData) sont redirigées vers des emplacements par package pour les applications AppContainer, ou passent à travers pour les applications de confiance totale.
  • Les lectures à partir d’emplacements VFS empaquetés sont servies à partir du package lui-même, ce qui fait que l’application se comporte comme si elle était installée à des emplacements traditionnels (par exemple C:\Program Files\).

Pour plus d’informations techniques sur le fonctionnement de la virtualisation du système de fichiers et du Registre, consultez Understanding comment les applications de bureau empaquetées s’exécutent sur Windows.

Conteneurs partagés

Par défaut, chaque package MSIX s’exécute dans son propre conteneur isolé. Pour les scénarios d’entreprise où plusieurs packages doivent partager un environnement d’exécution( par exemple, une application principale et un package de personnalisation), Windows prend en charge conteneurs de packages partagés. Un conteneur partagé fournit un ensemble défini de packages une vue fusionnée du système de fichiers virtuel et du registre des autres.

Il s’agit d’une fonctionnalité d’entreprise uniquement nécessitant des privilèges d’administration. Consultez le conteneur de packages partagés.

Virtualisation flexible

À partir de Windows 11, les applications peuvent choisir de manière sélective des dossiers de système de fichiers ou des clés de Registre hors virtualisation, ce qui rend ces emplacements visibles par d’autres applications et les rendre persistants lors de la désinstallation. Cela est utile pour les applications qui doivent partager la configuration ou les données avec d’autres applications tout en bénéficiant de l’empaquetage MSIX.

Voir virtualisation flexible.