共有パッケージ コンテナー
共有パッケージ コンテナーを使用すると、IT のプロはパッケージ アプリケーション用に共有ランタイム コンテナーを作成できます。仮想ファイル システムの統合されたビューと仮想レジストリを共有し、別のパッケージのルート ファイルと状態にアクセスできるようになります。 Windows 10 Insider Preview ビルド 21354 以降では、IT 担当者は、レガシ インストーラーからの MSIX の変換に重要となるコンテナーに含め得るどのアプリでも管理できるようになります。 共有コンテナーの概念は、主にカスタマイズ、必要なソフトウェアの共有、変換されたアプリのアドオンのサポートに使用されます。 これはエンタープライズ専用の機能であり、使用するには管理者特権が必要です。
共有パッケージ コンテナーの操作は、アプリのデプロイ操作とは独立しています。 つまり、デバイスにデプロイされるパッケージ コンテナー定義を共有する前に、アプリをインストールする必要はありません。 これは、共有パッケージ コンテナーを実行するために、共有パッケージ内で定義されているすべてのアプリをインストールする必要があるわけではないということでもあります。 共有パッケージ コンテナー内のアプリは、共有パッケージ コンテナーの定義を変更することなく、個別に更新できます。
アプリは 1 つのコンテナー内でのみ許可されることにご注意ください。 既に共有パッケージ コンテナーの一部となっているアプリを含む共有パッケージ コンテナーをデプロイすると、エラーが発生します。
前提条件
この機能を使用するには、企業にデバイスの管理者が必要です。 また、パッケージはすべて .msix パッケージである必要があります。 インストーラーを MSIX パッケージとしてパッケージ化するには、「既存のインストーラーからパッケージを作成する」ドキュメントをご覧ください。
共有パッケージ コンテナーの定義
共有パッケージ コンテナーは、.xml ファイルによって定義されます。 コンテナー定義には、一意の名前と、そのコンテナーに属するパッケージの一覧が必要です。 .xml には、メイン パッケージのみを含める必要があります。 省略可能なパッケージと変更パッケージは、メイン パッケージと同じコンテナーを既に共有しているため、共有パッケージ コンテナーに自動的に含められます。 パッケージの優先順位は、一覧の上から下に設定されます。 つまり、最上位のパッケージの優先順位が最も高くなります。 パッケージの優先度は、同じファイルを持つ可能性のあるパッケージ間の競合の解決に使用されます。 サンプルの一例を次に示します。
<?xml version="1.0" encoding="utf-8"?>
<AppSharedPackageContainer Name="ContosoContainer">
<PackageFamily Name="Fabrikam.MainApp_8wekyb3d8bbwe"/>
<PackageFamily Name="Contoso.MainApp_8wekyb3d8bbwe"/>
<PackageFamily Name="ContosoCustomize_7xekyb3d8ccde"/>
</AppSharedPackageContainer>
コンテナー定義の .xml があるとき、次の PowerShell コマンドを使用して、デバイスから共有パッケージ コンテナーをデプロイ、リセット、更新、削除できます。 他のすべてのアプリ デプロイ コマンドは同じままであることにご注意ください (つまり、パッケージのインストール)
PowerShell コマンド
共有パッケージ コンテナー定義をデプロイする
Add-AppSharedPackageContainer <path>
このコマンドは、特定のユーザーの共有パッケージ コンテナー定義をデプロイします。 省略可能なパラメーターは次のとおりです。
パラメーター | 説明 |
---|---|
ForceApplicationShutdown | 共有パッケージ コンテナーで現在実行中のすべてのパッケージを閉じます。 |
共有パッケージ コンテナーを削除する
Remove-AppSharedPackageContainer -Name <name>
このコマンドは、特定のユーザーの共有パッケージ コンテナー定義を削除します。 省略可能なパラメーターは次のとおりです。
パラメーター | 説明 |
---|---|
ForceApplicationShutdown | 共有パッケージ コンテナー内のすべてのパッケージを閉じます。 |
共有パッケージコンテナーに関する情報を取得する
Get-AppSharedPackageContainer -Name <name>
このコマンドは、共有パッケージ コンテナーに関する情報を取得します。 特に、共有パッケージ コンテナー内にあるパッケージが表示されます。
共有パッケージ コンテナーをリセットする
Reset-AppSharedPackageContainer -Name <name>
このコマンドは、仮想ファイルとレジストリ キーを含む、コンテナーのすべてのアプリケーション データを破棄します。