DT Blog

クレスコDTのエンジニアが
IT基礎知識から最新トレンドまで、技術ノウハウを発信

catch-img

Azure Virtual DesktopのMSIXアプリアタッチを試してみた~設定手順も解説~

こんにちは、株式会社クレスコ・デジタルテクノロジーズのK.Cです。
今回は、Microsoft社の仮想デスクトップクラウドサービス「Azure Virtual Desktop」の機能である「MSIXアプリアタッチ」のご紹介と、設定手順、操作方法について解説します。


■あわせて読まれている資料:
Microsoft社のクラウド型仮想デスクトップ導入を検証実施からサポート
Azure Virtual Desktop導入支援サービス

  Azure Virtual Desktop導入支援サービス資料ダウンロード|株式会社クレスコ・デジタルテクノロジーズ Microsoft社が提供する仮想デスクトップ環境「Azure Virtual Desktop」について、当社の経験豊富なインフラ技術者が検証環境の構築から本格導入までの一連のプロセスをワンストップでサポートします。 株式会社クレスコ・デジタルテクノロジーズ


目次[非表示]

  1. 1.MSIXアプリアタッチとは?
  2. 2.MSIXアプリアタッチ設定の流れ
  3. 3.手順1. MSIX Packaging Toolを使用し、アプリケーションをMSIX形式へパッケージ化
  4. 4.手順2.MSIXMGR toolを使用し、MSIXパッケージをMSIXイメージへ変換
  5. 5.手順3. MSIXイメージをファイルサーバへ配置し、MSIXアプリとしてアタッチ
  6. 6.手順4.MSIXアプリの動作を確認
  7. 7.【参考】仮想デスクトップへMSIXアプリをアタッチ
  8. 8.まとめ
  9. 9.引用元


MSIXアプリアタッチとは?

MSIXアプリアタッチとは、Microsoft社の仮想デスクトップクラウドサービス「Azure Virtual Desktop」の機能の1つです。

従来の仮想デスクトップ製品では、稼働するサーバやマスターイメージに直接アプリケーションをインストールする必要がありました。しかし、MSIXアプリアタッチではアプリケーションを指定形式(MSIX形式)へ変換し、Azure Filesやファイルサーバに格納した後、ホストプールと呼ばれる仮想マシンのグループにアタッチします。

これにより、Azure Virtual Desktopの仮想マシンや、マスターイメージへ直接インストールすることなく、アプリケーションを利用できるようになります。
 
MSIXアプリアタッチを利用することにより、アプリケーションのインストールが不要となり、システム管理者の管理工数を低減できるというメリットがあります。

MSIXアプリアタッチのイメージは下図となります。

イメージ図に記載の用語説明は以下です。

  • ホストプール:仮想マシンのグループ
  • RemoteApp方式:アプリケーションのみを仮想化する方式
  • Azure Files:Azureサービスより提供されるファイル共有サービス
  • MSIXイメージ:アプリケーションを指定形式へ変換したファイル
  • MSIXアプリアタッチ:指定形式へ変換したアプリケーションをホストプールへ割り当てる操作


MSIXアプリアタッチ設定の流れ

MSIXアプリアタッチを利用するためには、アプリケーションをMSIX形式へ変換する必要があります。
MSIXアプリアタッチ設定の流れは以下となります。

  1. MSIX Packaging Toolを使用し、アプリケーションをMSIX形式へパッケージ化する。
  2. MSIXMGR toolを使用し、MSIXパッケージをMSIXイメージへ変換する。
  3. MSIXイメージをファイルサーバへ配置し、MSIXアプリとしてアタッチする。
  4. MSIXアプリの動作を確認する。

 <本記事におけるMSIXアプリアタッチ設定の前提>

  • 仮想デスクトップのOSは、Windows 10 Enterprise multi-session, Version 21H2を選択
  • アプリケーションは、フリーソフトのTera Term、WinMergeを利用
  • MSIXパッケージに必要な証明書は、自己証明書を発行し利用
  • ファイルサーバはAzureストレージアカウントのAzure Filesを利用
  • MSIXイメージはVHDXディスクイメージ形式を利用



手順1. MSIX Packaging Toolを使用し、アプリケーションをMSIX形式へパッケージ化

MSIX Packaging Toolを使用し、アプリケーションをMSIX形式へパッケージ化する手順は以下です。
 
1-1.作業用Azure VM(以降、作業用VM)を作成します。

  ※本記事では、Azure VMを作成する手順は割愛します。
  ※本記事のAzure VMはAzure Virtual Desktopのカスタムイメージテンプレートから作成しました。
 
1-2.作業用VMへログインします
 
1-3.PowerShellを起動し、自動アップデートを無効化します。

> # Disable Microsoft Store automatic update
> If (!(Test-Path "HKLM:\Software\Policies\Microsoft\WindowsStore")) {
>>     New-Item -Path "HKLM:\Software\Policies\Microsoft\WindowsStore" -Force
>> }
> New-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\WindowsStore" -Name AutoDownload -PropertyType DWORD -Value 2 -Force
> # Disable content delivery automatic download
> If (!(Test-Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager")) {
>>     New-Item -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" -Force
>> }
> New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" -Name PreInstalledAppsEnabled -PropertyType DWORD -Value 0 -Force
> # Disables content delivery automatic download
> If (!(Test-Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager\Debug")) {
>>     New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager\Debug" -Force
>> }
> New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager\Debug" -Name ContentDeliveryAllowedOverride -PropertyType DWORD -Value 2 -Force



1-4.MSIXパッケージに使用する自己証明書を発行します。

 > New-SelfSignedCertificate -Type Custom -Subject "CN=MSIX App Attach" -KeyUsage DigitalSignature -NotAfter (Get-Date).AddYears(10) -CertStoreLocation "Cert:\CurrentUser\My" -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.4","2.5.29.19={text}")



1-5. 自己証明書が発行されたことを確認します。


1-6. MSIXパッケージと仮想マシンで必要となる証明書を出力します。

 > $password = ConvertTo-SecureString -String “<パスワード>” -Force -AsPlainText


※MSIXパッケージ インストール用証明書

> Export-PfxCertificate -cert “Cert:\CurrentUser\My\ACBE2A62B6A79F53CAEB63A44705F9A4384AAF92” -FilePath “C:\MSIX.pfx” -Password $password


※仮想マシン インストール用証明書

> Export-Certificate -cert “Cert:\CurrentUser\My\ACBE2A62B6A79F53CAEB63A44705F9A4384AAF92” -FilePath “C:\MSIX.cer”



1-7. Webブラウザを起動し、MSIX Packaging Toolのダウンロードページへ移動します。
https://www.microsoft.com/p/msix-packaging-tool/9n5lw3jbcxkf

移動後、MSIX Packaging Toolをインストールします。


1-8. MSIX Packaging Toolをインストール後、Select Taskが表示されます。


1-9. Application packageを選択します。


1-10. Create package on this computerを選択します。


1-11. 作業用VMのWindows Update、Windows Search を無効化します。
(アプリパッケージ作成中は、無効化することが推奨されるため)


1-12. Create new package にて、以下設定を行います。

Create new package

MSIXパッケージを作成するインストーラー [.exe]を選択します。

Signing preference

「Sign with a certificate(.pfx)」を選択します。

Browse for a certificate

1-6.で出力した証明書ファイルを選択します。

Password

1-6の出力時に指定したパスワードを入力します。


1-13. Package information にて、以下設定を行います。

Package name

パッケージ名を入力します。(利用者には表示されません)

Package display name

パッケージの表示名を入力します。
(スタートメニューに表示されます)

Publisher name

証明書のCN名が表示されます。

Publisher display name

発行元の表示名を入力します。(利用者に表示されます)

Version

アプリケーションのバージョンを入力します。


1-14. Choose the Accelerator for applying to the package にて、何も入力せずに「Next」を選択します。


1-15. アプリケーションのインストールが開始されます。

メッセージに従い、アプリケーションをインストールします。
(本記事では、アプリケーションのインストール手順は割愛します。)


1-16. アプリケーションのインストール完了を確認します。


1-17. 再起動が必要なアプリケーションの場合、Restart machine にて再起動を行います。


1-18. Machine first launch tasksにて、実行するアプリケーションのファイルパスを選択します。


1-19. Machine first launch tasksにて、アプリケーションの停止について確認画面が表示された場合、「Yes, more on」を選択します。


1-20. Package reportにて、「Next」を選択します。


1-21. Save locationにて、MSIXパッケージの保管場所を選択します。


1-22. Package successfully createdにて、作成されたMSIXパッケージが表示されます。


1-23. MSIXアプリをアタッチする仮想マシンへログインし、1-6で出力した証明書をインストールします。



1-24. 「ローカルコンピューター」を選択します。


1-25. [証明書をすべて次のストアに配置する]ー[信頼されたユーザー]を選択します。


1-26.証明書のインポートウィザードの完了にて、「完了」をクリックします。


手順2.MSIXMGR toolを使用し、MSIXパッケージをMSIXイメージへ変換

MSIXMGR toolを使用し、MSIXパッケージをMSIXイメージへ変換する手順は以下です。
 
2-1. 作業用VMにて、以下URLからMSIXMGRツールをダウンロードし展開します。
https://aka.ms/msixmgr




2-2. 展開したフォルダ配下に、MSIXパッケージファイルを格納します。


2-3. PowerShellを起動後、2-2.の格納場所へ移動し、MSIXイメージを作成します。

> cd <格納場所のパス>
> ./msixmgr.exe -Unpack -packagePath "<MSIXパッケージのパス>" -destination "<出力先のパス>\teraterm.vhdx" -applyACLs -create -fileType vhdx -rootDirectory apps


実行後、[Warning]に「Microsoft.WindowsAppRuntime.1.4」が表示された場合、後続の2-4.を行う必要があります。

[Warning] The app TeraTerm_5.2.0.0_x64__dscwm6pdg8ty6 depends on the following packages to run correctly. Please ensure these package dependencies are installed on the target machine or included beside the app package:
Microsoft.WindowsAppRuntime.1.4
 
Successfully created the VHDX file: <MSIXイメージのパス>


※MSIXアプリを実行するためには「Windows App Runtime」のランタイムコンポーネントが必要です。
MSIXイメージ作成時にバージョンが表示された場合、表示されたバージョンの「Windows App Runtime」を仮想マシンへインストールします。


2-4. 2-3.にて「Microsoft.WindowsAppRuntime.<バージョン>」が出力された場合、MSIXアプリアタッチを行う仮想マシンへWindows App Runtimeをインストールします。

仮想マシンにてWebブラウザを起動し、以下URLへ接続します。
https://learn.microsoft.com/ja-jp/windows/apps/windows-app-sdk/downloads-archive


 2-5. 表示されたWindows App Runtimeバージョンの最新版をダウンロードします。


2-6. ダウンロードしたインストーラーを実行し、インストールします。



手順3. MSIXイメージをファイルサーバへ配置し、MSIXアプリとしてアタッチ

MSIXイメージをファイルサーバへ配置し、MSIXアプリとしてアタッチする手順は以下です。

3-1. 作成したMSIXイメージを、Azure Filesへアップロードします。


3-2. MSIXアプリアタッチを行うホストプールにて、MSIXパッケージの追加を行います。
ホストプール – MSIXパッケージへ移動し、「追加」をクリックします。


3-3. Azure Filesへ格納したMSIXイメージのプロパティを開き、URLをコピーします。


3-4. 3-3.でコピーしたURLを、MSIXイメージパスへ貼り付けます。
貼り付けた後、登録の種類と状態を選択します。

MSIXイメージパス

Azure Filesに格納したMSIXイメージのURL

MSIXパッケージ

自動入力されます。

パッケージアプリケーション

自動入力されます。

表示名

自動入力されます。

登録の種類

オンデマンド

アプリが実行されたタイミングでマウントされます。

ログオンのブロック

セッションホスト接続時にマウントされます。

状態

非アクティブ

MSIXイメージを利用不可とします。

アクティブ

MSIXイメージを利用可とします。


3-5. MSIXパッケージとして登録されたことを確認します。


3-6. アプリケーショングループへ移動します。


3-7. [アプリケーショングループ] - [アプリケーション]へ移動し、「追加」をクリックします。


3-8. アプリケーションの追加にて、MSIXアプリのアタッチを行います。

アプリケーションソース

アプリアタッチを選択します。

パッケージ

MSIXパッケージを選択します。

アプリケーション

自動入力されます。

アプリケーション識別子

アプリケーションの一意の識別子を入力します。

表示名

表示名を入力します。(利用者に表示されます)


3-9.MSIXアプリのアタッチが完了したことを確認します。



手順4.MSIXアプリの動作を確認

リモートデスクトップツールを使用し、MSIXアプリの動作確認を行います。

 4-1. リモートデスクトップツールを起動し、サインインします。


4-2. MSIXアプリとして登録したアプリケーションの、アイコンが表示されます。

アイコンをクリックします。


4-3. 「資格情報を入力してください」にてパスワードを入力し、ログインします。


4-4. アプリケーションのみ表示され、利用することができます。



【参考】仮想デスクトップへMSIXアプリをアタッチ

MSIXアプリを使用してアプリケーションのみを利用する方法をご紹介しましたが、仮想デスクトップへアタッチすることも可能です。
参考までに、仮想デスクトップへアタッチする手順は以下です。

5.1 仮想デスクトップ形式のホストプールより、アプリケーショングループへ移動します。


5-2. アプリケーションにて、「追加」をクリックします。


5-3. アプリケーションの追加にて、MSIXアプリを追加します。

アプリケーションソース

自動入力されます。

パッケージ

MSIXアプリを選択します。

アプリケーション識別子

一意な識別子を入力します。


5-4. MSIXアプリが追加されたことを確認します。


5-5. リモートデスクトップツールにて、サインインします。


5-6. デスクトップアイコンをクリックします。


5-7. 「資格情報を入力してください」 にてパスワードを入力し、ログインします。


5-8. 仮想デスクトップへログイン後、スタートメニューを開きます。
アタッチしたMSIXアプリが、仮想デスクトップにインストールされたアプリケーションとして表示されます。
(実際には仮想デスクトップ、マスターイメージにはインストールしていません。)

仮想デスクトップへログインせずアプリケーションのみ利用する方式と、仮想デスクトップへインストールされたアプリケーションとして利用する方式のどちらを利用するかについては、お客様の要件に合わせ選択ください。


まとめ

以上、Azure Virtual DesktopのMSIXアプリアタッチについてご紹介しました。
本記事の手順では、MSIXアプリをMSIX形式へ変換する必要があり、利用するまでに若干の手間はかかりますが、MSIXアプリを変換する環境を整えれば、マスターイメージに対する事前のアプリケーションインストールは必要なくなります。
さらに、アプリケーションの更新時にはMSIXイメージの入れ替えだけで済むため、管理者の運用工数は削減できるというメリットがあります。

本記事がAzure Virtual DesktopのMSIXアプリアタッチを検討される方の参考になれば幸いです。
最後までお読みいただき、ありがとうございました。


■サービス資料一覧はこちら↓

  資料ダウンロード一覧|株式会社クレスコ・デジタルテクノロジーズ クレスコ・デジタルテクノロジーズのサービスに関する資料の一覧ページです。 株式会社クレスコ・デジタルテクノロジーズ



引用元

MSIXアプリアタッチの概要
https://learn.microsoft.com/ja-jp/azure/virtual-desktop/app-attach-overview?pivots=msix-app-attach

K.C
K.C
部署名:アドバンストテクノロジーオフィス

おすすめ資料はこちら

Microsoft社が提供する仮想デスクトップ環境「Azure Virtual Desktop」について、当社の経験豊富なインフラ技術者が検証環境の構築から本格導入までの一連のプロセスをワンストップでサポートします。

CONTACT

社内システムのお悩みを私たちだけで解決へと導きます

お役立ち資料は
こちらから

不明な点はお気軽に
お問い合わせください