套件儲存磁碟區

套件磁碟區是 Windows 管理的分階段套件安裝儲存庫。 預設的套件磁碟區通常是 C:\Program Files\WindowsApps,每個套件版本都有根據其套件全名的目錄。

套件磁碟區支援並排預備環境。 Windows 可以寫入新的套件版本,而不修改應用程式目前使用的版本。 此設計降低部分套用的更新之風險。

不是每個套件都會暫存於套件磁碟區。 開發模式註冊、帶有外部位置的套件、系統套件及原地註冊的配置可使用其他儲存模型。

預設與額外磁碟區

當部署操作未指定其他目標時,Windows 會使用預設的套件卷。 你可以在其他本地硬碟、可移除媒體或支援的網路儲存裝置上建立套件磁碟區。

使用 Windows.Management.Deployment.PackageManager API 或 Appx PowerShell Cmdlet 來管理套件磁碟區:

運算 Windows 執行階段 API PowerShell
新增 AddPackageVolumeAsync Add-AppxVolume
Enumerate GetPackageVolumesAsync Get-AppxVolume
取得預設設定 GetDefaultPackageVolume Get-AppxDefaultVolume
[設定預設值] SetDefaultPackageVolume Set-AppxDefaultVolume
設為離線 SetPackageVolumeOfflineAsync Dismount-AppxVolume
設為上線 SetPackageVolumeOnlineAsync 掛載-AppxVolume
Remove RemovePackageVolumeAsync 移除-AppxVolume

例如,使用 PowerShell 建立並選取一個套件磁碟區:

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

可接受目標磁碟區的部署 API 可以覆蓋單一操作的預設值。 你也可以使用 MovePackageToVolumeAsync 或 Move-AppxPackage 來移動支援的套件。

離線磁碟區

當底層儲存體無法使用時,Windows 會將套件磁碟區及其套件標記為離線。 例如,移除包含套件卷的 USB 隨身碟會設定這些套件的 PackageOffline 狀態。

Windows 透過底層儲存媒介來識別套件磁碟區,而非僅僅以磁碟代號。 將可移除儲存裝置重新連接到不同的磁碟代號,並不會產生不同的套件-卷識別碼。

安全性與加密

Windows 擁有並保護套件磁碟區內容。 已預備的套件檔案是不可變的,不應該直接修改。

Windows 會在非系統套件磁碟區中加密套件檔案,以維持 MSIX 完整性保障,避免儲存裝置移至另一台電腦時影響其完整性。 此加密保護分階段的套件檔案;它並不取代像 BitLocker 這類全卷加密。

檔案系統的能力各異。 依賴硬連結的功能,包括部分磁碟空間優化,在不支援硬連結的檔案系統中無法使用。