Google Chrome を MSIXアプリ化する

# はじめに
現在は、Azure Virtual Desktop (AVD) で、ホストプールと仮想マシンを作成する際に、どれだけシンプルな画面からデプロイさせられるか？ を研究しています。
その際には、いくつかのハードルがあったのですが、そこで得られたノウハウを記事にしていこうと思っています。

今回は、MSIXアプリアタッチ を扱いたいと思います。
そのうち、Google Chrome を MSIXアプリ化する部分を 当記事で扱います。
MSIX用の環境構築や、AVDへアプリを配備するためのノウハウは、以下の記事で取り扱っています。
ぜひ 併せて参照してみてください。

https://qiita.com/carol0226/items/61385bd9c3b1aeb9118e

::: note info
本記事で、Chrome をインストールしている箇所を 別のアプリに置き換えることで 同様にパッケージ化することができると思います。
なお、アプリによっては カスタマイズ等が必要になる場合がありますので、ご注意ください。そこは、MSIXに熟練して ノウハウを積んでいくしかないと思います。
:::

# 前提事項
前章でも紹介した [この記事](https://qiita.com/carol0226/items/61385bd9c3b1aeb9118e) を参考にして、事前準備をしてください。
本記事では、この準備が完了していることを前提にしています。
- 作業環境の準備
- 証明書発行
- MSIX Packaging Tool のインストール

# 用意するもの
- 事前準備した環境
- Google Chrome インストーラー（私は、[ココ](https://www.google.co.jp/chrome/ "Google Chrome") からダウンロードしました）

# 作業開始
1. 事前準備した作業環境へサインインします。
1. 作業環境上で、Google Chrome のインストーラーをダウンロードします。
   以下のように ChromeSetup.exe があれば OK です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/652949f0-514b-55dc-3a8f-1c103a1847af.png)

1. いま一度、以下の確認を・・・
　　Windows Update が停止されている
　　証明書を作成済み
1. MSIX Packaging Tool を起動
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/3133bd82-56fd-95eb-17b3-da4877661912.png)
1. 「アプリケーションパッケージ」を選択する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/bff93a04-b041-90e0-d7a9-7a06aadfd957.png)
1. 「このコンピューターにパッケージを作成する」を選択して「次へ」
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/f457abb1-157f-a6e8-ac8c-d845a1c89c84.png)
1. 下図の通りになっていることを確認して、「次へ」
 - MSIXパッケージツールドライバーがインストール済み
 - Windows Update がアクティブ が、「無効」
 - Windows Search がアクティブ のチェックボックスに、チェックを入れる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/ffc73f37-7841-f236-e78b-aa8416f07a32.png)

8．下図のとおりに設定値を入力して、「次へ」を押します。
　① ダウンロードした Google Chrome のインストーラーのパスを指定します。
　② チェックをONにします。
　③「証明書(.pfx) を使用して署名する」を選択します。
　④ 証明書(.pfx)ファイルのパスを指定します。
　⑤ 証明書に設定したパスワードを入力します（パスワードが合っていないと先へ進めません）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/fa8ebe45-69ef-f7c2-aad6-b534c740cdc7.png)

9．この画面で設定した名称が OSのアプリ名で採用されます。
　 適宜入力して、「次へ」を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/845ec6bf-e897-89bd-1de2-aa18beeefa19.png)

10．Chromeのインストールが実行されます（このとき、MSIX Tool が動作をキャプチャしています）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/9ef34d05-d72f-9d12-52ae-ac96618462b6.png)

11．インストールが終わると、Chrome が起動しますが、「閉じる」ボタンを押してアプリを終了させます。

12．MSIX Packaging Tool は、以下の画面になっているので、「次へ」を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/de923730-de0e-ec04-d913-fcd843e39574.png)

13．処理中は、以下の画面になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/0a6ee5fc-e31b-ffa7-fa81-629abd5532cf.png)

14．以下の画面では、chrome.exe を選択して「実行」を押します。
すると、Chrome が起動して インストール後の後処理の実施を求められます。
適宜、Chrome の初期設定を行い、最後に Chrome を終了させてください。
なお、ここで行った設定が引き継がれるかどうかは定かではありません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/e03026e4-c144-7890-31f2-de725136f5dc.png)

15．「次へ」を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/1604dba1-ca86-39ce-6a0d-72e483f93924.png)

16．「はい。次に進みます」を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/b9f091e4-59f2-d2d2-c014-ad6203d8dd9a.png)

17．パッケージの準備処理が行われます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/aa99d60e-d5ab-4c75-297a-41abbbec65ea.png)

18．以下の画面では、gupdate と gpdatem にチェックを入れて「選択したサービスを除外する」を選択します。すると 除外するサービスとして認識されるので、そのあと「次へ」を押します。
※MSIXでは、アプリが 自身をアップデートするような処理は、行わないほうが無難です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/c14e0d86-3192-ce6d-1c71-f1667c164414.png)

19．「作成」を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/30d8d9e1-160e-e1b0-b94d-143b6fd785d3.png)

20．パッケージ作成中は、以下の画面になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/672ed1d3-ef12-bbc8-3999-629f03e9caaa.png)

21．「閉じる」を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/bd3a965f-b85f-f689-da0a-22c2ceab5dfd.png)

22．以下の２つのファイルが作成されたことを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/0d837ab6-753b-f3a0-732c-030d5c7cde14.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/0667f49a-0ded-77ce-260a-673e52c6cab7.png)

以上で、MSIXパッケージの作成が完了です。

# 動作確認
動作確認を行うためには、作業環境とは別の クリーンな PC 上で行います。
おおまかな流れは、以下の通り。
1. パッケージ化したときの証明書（.pfx) を、別のクリーンな PC にコピーします。
1. 証明書(.pfx) を 承認されたユーザーのストアにインポートします。（[手順](https://qiita.com/carol0226/items/f1ad8b02a6d49125a1a7#%E8%A8%BC%E6%98%8E%E6%9B%B8pfx-%E3%82%92-%E6%89%BF%E8%AA%8D%E3%81%95%E3%82%8C%E3%81%9F%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%81%AE%E3%82%B9%E3%83%88%E3%82%A2%E3%81%AB%E3%82%A4%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%88 "証明書(.pfx) を 承認されたユーザーのストアにインポート")）
1. 作成されたパッケージを、同じくクリーンな コピーします。
1. パッケージを PC にインストールします。（[手順](https://qiita.com/carol0226/items/f1ad8b02a6d49125a1a7#%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%82%92-pc-%E3%81%AB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB "パッケージを PC にインストール")）
1. インストールされたアプリケーションの動作を確認します。

## 証明書(.pfx) を 承認されたユーザーのストアにインポート
1. 証明書を右クリックし、「PFXのインストール」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/fc071883-9c9f-7fb4-55f9-483fa51f4ca6.png)
1. 以下の画面で「現在のユーザー」を選択して、「次へ」
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/9d8d2baa-c712-5ebc-3797-dcced2766a44.png)
1. インポートする証明書(.pfx)が選択されていることを確認し、「次へ」
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/733cd2cd-3215-b52a-f177-f47acb711c3c.png)
1. 証明書のパスワードを入力し、「次へ」
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/cfb92641-4f87-b60f-6130-835da59ed9c9.png)
1. 「証明書をすべて次のストアに配置する」を選択し「参照」を押す
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/6c31f157-7d30-c2f9-dea2-3de0821582f1.png)
1. 「信頼されたユーザー」を選択し「OK」を押す
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/bb151bb3-87ef-3826-a13f-c980fc4e7403.png)
1. 「信頼されたユーザー」が選択されていることを確認して、「次へ」
※証明書が 信頼されたユーザーのストアに入っている必要があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/edfe7237-6e95-8e9c-4fca-cfd7e6b81bbe.png)
1. 以下の確認画面で、「完了」を押す
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/ce00ea30-e1ef-48f0-d9a3-c1d37c0a10fe.png)
1. 以下のメッセージが表示されれば、無事にインポートが完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/5bc6fcfe-7a17-968c-6745-21e0c46f4a7d.png)

## パッケージを PC にインストール
1. パッケージをインストールします。
パッケージをダブルクリックすると、以下のメッセージが表示されるので、その指示に従います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/d6d0b652-cbac-c818-549f-e49ddc0f2203.png)
1. PowerShell を管理者権限で起動し、上記で指示されたコマンドを実行します。
Add-AppxPackage [アプリのパス￥アプリ名].msix 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/efef23ae-ed20-5af7-d43c-359205679a04.png)
以下は、実行中の画面
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/bde53f76-fe1d-a2b1-37f8-031b11b3be17.png)
1. 設定アプリで、「アプリと機能」に Google Chrome がインストールされたことを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/ca98534e-8780-c4b9-42bb-24bd99661bfb.png)
1. スタートメニューなどから、インストールされた Chrome を起動できることを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/6ba9dc47-fcfb-9a62-a49e-decc33b6bae8.png)

以上で、Chrome が MSIXアプリでパッケージ化されたことが確認できました。

引き続き、AVDで MSIXアプリアタッチ を実装するには、以下の記事にて 続きの操作を行ってください。

【1-5. MSIXアプリ をイメージ化する（msix -> vhdx)】

https://qiita.com/carol0226/items/61385bd9c3b1aeb9118e#1-4-%E9%80%9A%E5%B8%B8%E3%82%A2%E3%83%97%E3%83%AA-%E3%82%92-msix%E5%BD%A2%E5%BC%8F-%E3%81%A7%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E5%8C%96%E3%81%99%E3%82%8B