Chromium版 Microsoft EdgeでのClickOnce起動方法

# 初めに
## ClickOnceについて
* 従来のアプリケーション配置モデルにあった以下のような課題が解決できるアプリケーションの配布方法の一つです。
    * アプリケーションのアップデートの困難さ
    * コンピュータに与える影響の大きさ
    * インストール時に管理者の権限が必要であること

> 出典（Wiki）：https://ja.wikipedia.org/wiki/ClickOnce

* 自社では、EXCELライクな画面が多くどうしてもWebアプリケーションよりもWindowsアプリケーション方（Windowsフォーム、WPF）が現場受けがよいため、Webアプリケーションではなく従来のWindowsフォームとWPFでの開発を行っていますが、インストール配布がMSIやSetup.exeでは対応しにくいので、ClickOnceを利用しています。
    * Webアプリのアップデートのしやすさの利点とWindowsアプリの操作性の利点を兼ね備えたアプリケーションの構築が可能。
    * 起動時に自動的にバージョンアップも行ってくれるため、インストール作業漏れも防げるため重宝しています。

## Chromium版 Microsoft Edgeについて
* Microsoft Edgeは「EdgeHTML」という独自のレンダリングエンジンを使用していましたが、Google Chromeから派生したオープンソースの「Chromium」をベースとしてブラウザに生まれ変わりました。
* 正式リリースからしばらくたったので、アップデートをとめていた企業でも順次インストールされてきたのではないでしょうか？

# ~~デフォルト設定では、ClickOnceの起動ができない~~
* ~~旧Edgeでは、ClickOnceの起動ができていたのですが、Chromium版へバージョンアップ後では、ClickOnceの配布URLに接続してもApplicationファイルのダウンロードになってしまい起動ができない。~~
    * ~~Chromeでも同様でデフォルトだと起動できないないので、Chrome ウェブストアで拡張機能をインストールしていると思いますが。。。~~

* (**追記：2022/11/07**)
    * **「2020/11/20にアップデートされたMicrosoft Edge 87以降では、ClickOnceデプロイメントはデフォルトで有効になっています。」** とご指摘コメントをいただきました。現在はこの設定を変更を行わなくても大丈夫のようです。
    * [バージョン 87.0.664.41: 11 月 19 日](https://learn.microsoft.com/ja-jp/deployedge/microsoft-edge-relnote-archive-stable-channel#version-87066441-November-19)
> バージョン 87.0.664.41: 11 月 19 日 
>> ClickOnce の展開が既定で有効になっています。 Microsoft Edge 87 では、ClickOnce が既定で有効になっています。これにより、企業がソフトウェアを展開する際の障壁を減らし、Microsoft Edge のレガシブラウザーの動作に合わせることができます。 Microsoft Edge 87 以降、ClickOnceEnabled policyが"未構成"の 状態の場合は、新しい既定の「有効化が ClickOnceの状態」（以前の規定が無効だった状態と異なり）に反映されます。

![edge_1.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90597/046240b9-3c4b-9f85-e205-1abee5e74ff1.jpeg)

# 設定変更
## 設定ページへ移動
* Edgeを起動しアドレスバーに以下を入力する
    * **edge://flags/#edge-click-once**

![edge_2.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90597/50566e08-f582-634f-ce94-6bd6f9bfd41d.jpeg)


## ClickOnce Support
* ClickOnceの項目をDefaultからEnabledへ変更

![edge_3.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90597/75de5f35-5518-bd33-4f6d-3afc8432c54b.jpeg)

## 再起動
* 設定を変更すると、画面右下に再起動ボタンが表示されるので押下する。

![edge_4.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90597/ac0a09ca-2eaf-6d95-dc03-54a7256d7f08.jpeg)

## ClickOnceの起動確認
* ClickOnceの配布URLを開くと、警告が表示されるものの直接起動ができるようになったと思います。

![edge_5.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90597/d59657b9-d1c7-835c-a7c5-127757e864c7.jpeg)




# 補足
* 以下のサイトを参考にしました。

> 出典：[Microsoft Edge での ClickOnce と DirectInvoke の機能について](https://docs.microsoft.com/ja-jp/deployedge/edge-learn-more-co-di)

# 補足（2021/08/11追記）
* 今更ですが、「Chromium版Edgeの管理テンプレート」を適用すれば、GPOで設定が可能でした。
    *  [Chromium版Edgeの管理テンプレート ダウンロードページ](https://www.microsoft.com/ja-jp/edge/business/download)  
* 「バージョン」、「ビルド」、「プラットフォーム」を選択して、「**ポリシーファイルを取得**」を押下
    * 同意が求められたら「同意してダウンロード」を選択
    * 「MicrosoftEdgePolicyTemplates.zip」がダウンロードされます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90597/1ad84397-9a85-363f-15a5-d5d0c6b43778.png)

* 「MicrosoftEdgePolicyTemplates.zip」を解凍する
    * 以下のファイルをADサーバの「PolicyDefinitions」にコピーする

> MicrosoftEdgePolicyTemplates\windows\admx\msedge.admx  
>> →PolicyDefinitions\msedge.admx  

> MicrosoftEdgePolicyTemplates\windows\admx\msedgeupdate.admx  
>> →PolicyDefinitions\msedgeupdate.admx  

> MicrosoftEdgePolicyTemplates\windows\admx\ja-JP\msedge.adml  
>> →PolicyDefinitions\ja-JP\msedge.adml  

> MicrosoftEdgePolicyTemplates\windows\admx\ja-JP\msedgeupdate.adml  
>> →PolicyDefinitions\ja-JP\msedgeupdate.adml  

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90597/8642def9-9b39-e98d-b827-1860fabb506f.png)

* ユーザーの構成 ＞ ポリシー ＞ 管理用テンプレート ＞ Microsoft Edge 
    * 「ユーザーがClickOnceプロトコルを使用してファイルを開くことを許可する」を有効にする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90597/64c09315-ad6b-9614-f607-590f67a84dde.png)