はじめに
自作の拡張機能を自動インストールする方法について記載します。
私自身の備忘もかねてドキュメント化しておこうと思います。
今回のスコープについて
インストールする拡張機能:自作のパッケージ化した拡張機能
インストール対象の端末:Windows11
インストール方法:レジストリを利用
自動インストール構成の構築
今回利用するXMLファイルについて
Edgeに対して設定したマニュアルを読むように指示し、マニュアルに書かれた手順(どの拡張機能を、どこから、どのバージョンで等)に従って自動的にインストールや更新を行うという仕組みを実現させるためのファイルとなっています。
XMLファイル作成
インストール対象の拡張機能に合わせてXMLファイルを作成します。
<?xml version='1.0' encoding='UTF-8'?>
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
<app appid='インストール対象の拡張機能ID'>
<updatecheck codebase='file:///インストール対象の拡張機能パス' version='1.0' />
</app>
</gupdate>
versionなどはmanifest.jsonに記述の内容と同様に記述するよう注意してください。
レジストリの構成
HKLM/HKCUどちらにも適用させることができます。
作業対象レジストリ:
HKLM or HKCU \SOFTWARE\Policies\Microsoft\Edge\ExtensionSettings
HKLM or HKCU\
└ SOFTWARE
└ Policies
└ Microsoft
└ Edge
└ ExtensionSettings
HKLMの適用対象:同一のコンピュータを利用するユーザに対して
HKCUの適用対象:レジストリ設定を実施したユーザに対して
新規キーの作成
ExtensionSettings配下に「新規キー」の作成を実施する。
キーの名称は、「インストール対象の拡張機能ID」となる。
キーを追加すると下記構成となる。
HKLM or HKCU \SOFTWARE\Policies\Microsoft\Edge\ExtensionSettings\拡張機能ID
HKLM or HKCU\
└ SOFTWARE
└ Policies
└ Microsoft
└ Edge
└ ExtensionSettings
└ 拡張機能ID
拡張機能インストール用の値を設定
前項で作成した拡張機能IDに対して、拡張機能を自動インストールするための値、XMLファイルを参照するための値をそれぞれ追加する。
拡張機能を自動インストールするための値
値:installation_mode
種類:REG_SZ
データ:install_forced
XMLファイル参照用の値
値:update_url
種類:REG_SZ
データ:ローカルフォルダに保存したXMLファイルパス
最終的なレジストリ構成
必要なキーや値を構成することで、最終的に下記の構成となる。
HKLM or HKCU\
└ SOFTWARE
└ Policies
└ Microsoft
└ Edge
└ ExtensionSettings
└ 拡張機能ID
├ (規定) / REG_SZ / (値のデータなし)
├ install_mode / REG_SZ / install_forced
└ update_url / REG_SZ / XMLファイルパス
最後に
拡張機能の自動インストール構成について私自身の備忘も込めて記載しています。
ExtensionSettingsを利用しているのは、GPO等で割り当てられたポリシーよりも優先されるという点を考慮して利用しています。
このページの記述はあくまで一例なので、ご参考程度で眺めていただければと思います。