はじめに
皆様、こんにちは!
ネットワールド SEの福村です。
突然ですが、AVD(Azure Virtual Desktop)でストアアプリを利用したいと考えたことはないでしょうか?FSLogixを用いたマルチセッションの環境における導入には少し癖があるので整理してお伝えします。

FSLogixの特性
ストアアプリを利用したい場合、AVDのセッションホストにそのままインストールしただけだとセッションホストからサインアウト時に削除されます。
これはセッションホストにインストールしたストアアプリは各ユーザープロファイルに格納されるが、セッションホストからサインアウト時に削除されるという仕様があるためです。
Windows Enterprise マルチセッションに関する FAQ - Azure | Microsoft Learn

この対処方法としては各セッションホストに対して、ストアアプリのプロビジョニングを実施する必要があります。
イメージとしては以下のような流れになります。
ストアアプリのプロビジョニング
-
ストアアプリのオフラインパッケージをダウンロード
以下の公開情報の手順に従いインストールしたいストアアプリのオフラインパッケージのダウンロードを実施します。
https://jpwinsup.github.io/blog/2024/06/10/UserInterfaceAndApps/winget-store-download/
パッケージIDについてはアプリのURLの末尾の文字列が該当します。例:Microsoft Remote Desktop
URL:https://apps.microsoft.com/detail/9wzdncrfj3ps
パッケージID:9wzdncrfj3pswinget download 9wzdncrfj3ps
パッケージのダウンロード時、Microsoft Entra ID の認証を求められるので、Microsoft Entra ID テナントへの管理者アクセス権(グローバル管理者等)を持つユーザーで認証を実施します。
パッケージとライセンスファイルがダウンロードされます。ライセンスファイルの再配布は不可となり、取得した組織外での利用についてはライセンス違反になるので、要注意。

-
オフラインパッケージを使って各セッションホストにプロビジョニングを実施
Add-AppxProvisionedPackage (Dism) | Microsoft Learn
各セッションホストにローカル管理者等のVMの管理者権限を持つユーザーでログインし、以下のコマンドをPowerShellの管理者モードで実施します。
Add-AppxProvisionedPackage -Online -PackagePath "<ダウンロードしたオフラインパッケージのパス>" -LicensePath "<ダウンロードしたオフラインパッケージに付随するライセンスファイルのパス>"

以下のコマンドで、対象のストアアプリがプロビジョニングされているか確認します。Get-AppxProvisionedPackage -Online | Where-Object DisplayName -like "*アプリ名の一部*"

セッションホストにログインして確認
プロビジョニングを実施したセッションホストにログインしてアプリが利用できるか確認します。
ログインするとアプリの一覧に該当のストアアプリのアイコンが表示されました。

アイコンをクリックすると、アプリケーションを起動することができました!

