Edit

Package storage volumes

A package volume is a Windows-managed installation store for staged packages. The default package volume is normally C:\Program Files\WindowsApps, where each package version has a directory based on its package full name.

Package volumes support side-by-side staging. Windows can write a new package version without modifying the version that an application currently uses. This design reduces the risk of a partially applied update.

Not every package is staged in a package volume. Development-mode registrations, packages with external location, system packages, and layouts registered in place can use other storage models.

Default and additional volumes

Windows uses the default package volume when a deployment operation doesn't specify another target. You can create package volumes on other local drives, removable media, or supported network storage.

Use the Windows.Management.Deployment.PackageManager APIs or Appx PowerShell cmdlets to manage package volumes:

Operation Windows Runtime API PowerShell
Add AddPackageVolumeAsync Add-AppxVolume
Enumerate GetPackageVolumesAsync Get-AppxVolume
Get default GetDefaultPackageVolume Get-AppxDefaultVolume
Set default SetDefaultPackageVolume Set-AppxDefaultVolume
Set offline SetPackageVolumeOfflineAsync Dismount-AppxVolume
Set online SetPackageVolumeOnlineAsync Mount-AppxVolume
Remove RemovePackageVolumeAsync Remove-AppxVolume

For example, create and select a package volume with PowerShell:

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

Deployment APIs that accept a target volume can override the default for an individual operation. You can also use MovePackageToVolumeAsync or Move-AppxPackage to move supported packages.

Offline volumes

When the underlying storage becomes unavailable, Windows marks the package volume and its packages offline. For example, removing a USB drive that contains a package volume sets the packages' PackageOffline status.

Windows identifies a package volume by the underlying storage media rather than only by a drive letter. Reconnecting removable storage under a different drive letter doesn't create a different package-volume identity.

Security and encryption

Windows owns and protects package-volume contents. Staged package files are immutable and shouldn't be modified directly.

Windows encrypts package files in non-system package volumes to preserve MSIX integrity guarantees if the storage is moved to another computer. This encryption protects staged package files; it doesn't replace full-volume encryption such as BitLocker.

File-system capabilities vary. Features that depend on hard links, including some disk-space optimizations, aren't available on file systems that don't support hard links.