AppStream2.0でClickOnce アプリケーションを配信する

2020.06.16

ClickOnceアプリケーションって何?

ClickOnceはアプリケーションを配置するためのマイクロソフトの技術のことを指し、ClickOnceアプリケーションはそのClickOnce経由で配置されるアプリケーションのことです。

ざっくりいうと、ClickOnceを用いることでアプリケーションインストールの複雑さを容易に、さらに信頼性を向上させることができます。

(参考情報)

AppStreamでClickOnceアプリケーションをインストールする

このClickOnceアプリケーションをAppStreamで配信する場合の方法については、AWS公式管理ガイドに記載があります。

ですがあまり詳細には記載されておらず、事実私が手こずりましたので、記録を残しておきたいと思います。

※このやり方が汎用性があるのかどうか、よくわかっておりません。あくまで今回のアプリケーションではこうだった、という前提で読んでいただけると幸いです。

Administratorでの作業

前述の管理ガイドの項番3=管理者としてログインまで終わっているとします。

インストール

インストーラーを実行すると、デスクトップと C:\Users\ImageBuilderAdmin\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\(企業名)\にそれぞれ(アプリ名).appref-ms が作成されました。いずれかを実行することでアプリが起動するようになりました。

デスクトップのappref-msファイルを移動

あとでTemplate Userで使うので、デスクトップにある(アプリ名).appref-msファイルをTemplate Userでアクセスできる箇所に移動させます。私はC:\Users\にしましたがTemplate Userがアクセスできる場所であればどこでも良いはずです。

batファイル作成

前述の管理ガイドの項番4の部分です。以下方法で作成しました。

  • PowerShellを右クリックで管理者権限で起動する
  • 以下コマンドを実施
    echo 'explorer "%APPDATA%\Microsoft\Windows\Start Menu\Programs\(企業名)\(アプリ名).appref-ms"' | out-file C:\Users\call-appref-ms.bat -encoding ascii
  • C:\Users\call-appref-ms.bat でアプリケーション起動するか確認

Image Assistant

前述の管理ガイドの項番5の部分です。
Add Appで指定するLaunch Pathは先ほど作成したbatファイルC:\Users\call-appref-ms.batを指定しましょう。

その後Switch Userして(管理ガイドの項番6,7)Template Userでの作業に移ります。

Template Userでの作業

インストール

ここが私のハマリポイントだったのですが、Administratorと同じ様にインストーラーを実行してインストールしようとすると、ImageBuilderAdmin(=AppStreamでいうところのAdministrator)のパスワードを要求されます。ImageBuilderAdminのパスワードは確認不可なのでインストールできませんでした。

代わりに、先程ファイル移動したappref-msファイルを実行します。するとAdministratorの時と同様に、デスクトップと C:\Users\DefaultProfileUser\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\(企業名)\(アプリ名).appref-ms が作成されました。いずれかを実行することでアプリが起動するようになりました。

Image Assistant

前述の管理ガイドの項番9,10です。アプリケーションを開いて正しく機能していることを確認し、Switch UserでAdministratorに戻ります。

あとは通常の手順で進めればOKです。(「通常の手順」は 入門ガイドを参考にいただければと思います)

Administratorに戻ってすぐ、「Save Settings」することを忘れずに。(私が忘れました)