Volumes de stockage de packages

Un volume de packages est un emplacement de stockage d’installation géré par Windows pour les packages intermédiaires. Le volume de package par défaut est normalement C:\Program Files\WindowsApps, où chaque version du package a un répertoire basé sur son nom complet de package.

Les volumes de packages prennent en charge la mise en lots côte à côte. Windows peut écrire une nouvelle version de package sans modifier la version qu’une application utilise actuellement. Cette conception réduit le risque d’une mise à jour partiellement appliquée.

Tous les packages ne sont pas mis en lots dans un volume de packages. Les inscriptions en mode développement, les packages avec un emplacement externe, les packages système et les dispositions inscrites sur place peuvent utiliser d’autres modèles de stockage.

Volumes par défaut et supplémentaires

Windows utilise le volume de packages par défaut lorsqu’une opération de déploiement ne spécifie pas une autre cible. Vous pouvez créer des volumes de package sur d’autres lecteurs locaux, supports amovibles ou stockage réseau pris en charge.

Utilisez les Windows.Management.Deployment.PackageManager API ou les applets de commande PowerShell Appx pour gérer les volumes de package :

Opération API de Windows Runtime PowerShell
Ajouter AddPackageVolumeAsync Add-AppxVolume
Enumerate GetPackageVolumesAsync Get-AppxVolume
Obtenir la valeur par défaut GetDefaultPackageVolume Get-AppxDefaultVolume
Définir par défaut SetDefaultPackageVolume Set-AppxDefaultVolume
Mettre hors connexion SetPackageVolumeOfflineAsync Dismount-AppxVolume
Mettre en ligne SetPackageVolumeOnlineAsync Mount-AppxVolume
Remove RemovePackageVolumeAsync Remove-AppxVolume

Par exemple, créez et sélectionnez un volume de package avec PowerShell :

$volume = Add-AppxVolume -Path "Q:\WindowsApps"
Set-AppxDefaultVolume -Volume $volume

Les API de déploiement qui acceptent un volume cible peuvent remplacer la valeur par défaut d’une opération individuelle. Vous pouvez également utiliser MovePackageToVolumeAsync ou Move-AppxPackage pour déplacer des packages pris en charge.

Volumes hors connexion

Lorsque le stockage sous-jacent devient indisponible, Windows marque le volume de packages et ses packages comme étant hors connexion. Par exemple, le retrait d’un lecteur USB qui contient un volume de package définit l’état PackageOffline des packages.

Windows identifie un volume de packages par le support de stockage sous-jacent plutôt que par la seule lettre de lecteur. La reconnexion du stockage amovible sous une autre lettre de lecteur ne crée pas d’identité de volume de package différente.

Sécurité et chiffrement

Windows possède et protège le contenu des volumes de packages. Les fichiers de package intermédiaires sont immuables et ne doivent pas être modifiés directement.

Windows chiffre les fichiers de package dans des volumes de package non système pour préserver les garanties d’intégrité MSIX si le stockage est déplacé vers un autre ordinateur. Ce chiffrement protège les fichiers des packages intermédiaires. Il ne remplace pas le chiffrement de volume complet tel que BitLocker.

Les fonctionnalités du système de fichiers varient. Les fonctionnalités qui dépendent de liens durs, y compris certaines optimisations de l’espace disque, ne sont pas disponibles sur les systèmes de fichiers qui ne prennent pas en charge les liens durs.