パッケージ ボリュームは、ステージング パッケージのWindows管理されたインストール ストアです。 既定のパッケージ ボリュームは通常 C:\Program Files\WindowsApps です。各パッケージ バージョンには、パッケージの完全な名前に基づくディレクトリがあります。
パッケージのボリュームは、サイド バイ サイドのステージングに対応しています。 Windows では、アプリケーションが現在使用しているバージョンを変更することなく、新しいパッケージのバージョンを書き込むことができます。 この設計により、部分的に適用される更新のリスクが軽減されます。
すべてのパッケージがパッケージ ボリュームにステージングされるわけではありません。 開発モードの登録、外部の場所を持つパッケージ、システム パッケージ、およびその場で登録されたレイアウトは、他のストレージ モデルを使用できます。
既定のボリュームと追加ボリューム
Windowsでは、デプロイ操作で別のターゲットが指定されていない場合に、既定のパッケージ ボリュームが使用されます。 他のローカル ドライブ、リムーバブル メディア、またはサポートされているネットワーク ストレージにパッケージ ボリュームを作成できます。
Windows.Management.Deployment.PackageManager API または Appx PowerShell コマンドレットを使用して、パッケージ ボリュームを管理します。
| Operation | Windows ランタイム API | PowerShell |
|---|---|---|
| 追加する | AddPackageVolumeAsync | Add-AppxVolume |
| 列挙する | 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は、ドライブ文字だけでなく、基になるストレージ メディアによってパッケージ ボリュームを識別します。 別のドライブ文字でリムーバブル記憶域を再接続しても、別のパッケージ ボリューム識別子は作成されません。
セキュリティと暗号化
Windowsは、パッケージ ボリュームの内容を所有し、保護します。 ステージング パッケージ ファイルは不変であり、直接変更しないでください。
Windowsは、システム以外のパッケージ ボリューム内のパッケージ ファイルを暗号化して、ストレージが別のコンピューターに移動された場合に MSIX 整合性の保証を維持します。 この暗号化は、ステージングされたパッケージ ファイルを保護します。BitLocker などのフル ボリューム暗号化に代わるものではありません。
ファイルシステムの機能は異なります。 ハード リンクに依存する機能 (ディスク領域の最適化など) は、ハード リンクをサポートしていないファイル システムでは使用できません。
関連するコンテンツ
パッケージ化されたデスクトップ アプリを Windows - PowerShell を使用した MSIX の管理
- PackageVolume クラス
- MSIX PackageVolume: パッケージ ストレージのしくみ