패키지 볼륨은 준비된 패키지에 대한 Windows에서 관리되는 설치 저장소입니다. 기본 패키지 볼륨은 일반적으로 C:\Program Files\WindowsApps이며, 각 패키지 버전에는 해당 패키지의 전체 이름을 기반으로 하는 디렉터리가 있습니다.
패키지 볼륨은 병렬 스테이징을 지원합니다. Windows는 애플리케이션이 현재 사용하는 버전을 수정하지 않고 새 패키지 버전을 작성할 수 있습니다. 이 디자인은 부분적으로 적용된 업데이트의 위험을 줄입니다.
모든 패키지가 패키지 볼륨에서 준비되는 것은 아닙니다. 개발 모드 등록, 외부 위치가 있는 패키지, 시스템 패키지 및 제자리에서 등록된 레이아웃은 다른 스토리지 모델을 사용할 수 있습니다.
기본 및 추가 볼륨
Windows 배포 작업에서 다른 대상을 지정하지 않는 경우 기본 패키지 볼륨을 사용합니다. 다른 로컬 드라이브, 이동식 미디어 또는 지원되는 네트워크 스토리지에서 패키지 볼륨을 만들 수 있습니다.
Windows.Management.Deployment.PackageManager API 또는 Appx PowerShell cmdlet을 사용하여 패키지 볼륨을 관리하세요.
| Operation | Windows 런타임 API | PowerShell |
|---|---|---|
| 추가 | AddPackageVolumeAsync | Add-AppxVolume |
| Enumerate | GetPackageVolumesAsync | Get-AppxVolume |
| 기본값 받기 | GetDefaultPackageVolume | Get-AppxDefaultVolume |
| 기본값 설정을 선택합니다 | SetDefaultPackageVolume | Set-AppxDefaultVolume |
| 오프라인으로 설정 | SetPackageVolumeOfflineAsync | Dismount-AppxVolume |
| 온라인으로 설정 | SetPackageVolumeOnlineAsync | Mount-AppxVolume |
| Remove | RemovePackageVolumeAsync | Remove-AppxVolume |
예를 들어 PowerShell을 사용하여 패키지 볼륨을 만들고 선택합니다.
$volume = Add-AppxVolume -Path "Q:\WindowsApps"
Set-AppxDefaultVolume -Volume $volume
대상 볼륨을 허용하는 배포 API는 개별 작업의 기본값을 재정의할 수 있습니다. MovePackageToVolumeAsync 또는 Move-AppxPackage를 사용하여 지원되는 패키지를 이동할 수도 있습니다.
오프라인 상태의 볼륨
기본 스토리지를 사용할 수 없게 되면 Windows는 패키지 볼륨과 해당 패키지를 오프라인으로 표시합니다. 예를 들어 패키지 볼륨이 포함된 USB 드라이브를 제거하면 패키지의 상태가 PackageOffline로 설정됩니다.
Windows는 드라이브 문자만이 아니라 기본 스토리지 미디어를 기준으로 패키지 볼륨을 식별합니다. 다른 드라이브 문자로 이동식 스토리지를 다시 연결해도 다른 패키지 볼륨 ID가 만들어지지는 않습니다.
보안 및 암호화
Windows는 패키지 볼륨 콘텐츠를 소유하고 보호합니다. 스테이징된 패키지 파일은 변경할 수 없으며 직접 수정해서는 안 됩니다.
Windows는 스토리지가 다른 컴퓨터로 이동되더라도 MSIX 무결성 보장을 유지하기 위해 비시스템 패키지 볼륨의 패키지 파일을 암호화합니다. 이 암호화는 스테이징된 패키지 파일을 보호하지만, BitLocker와 같은 전체 볼륨 암호화를 대체하지는 않습니다.
파일 시스템 기능은 다양합니다. 일부 디스크 공간 최적화를 포함하여 하드 링크에 의존하는 기능은 하드 링크를 지원하지 않는 파일 시스템에서 사용할 수 없습니다.