前回まではChrome拡張機能の作成についてでしたが
今回は補足としてインストールについてです。
Chrome拡張機能のインストール
###chrome store###
個人で使うだけならばデベロッパーモードで良いと思いますが、複数人で使うとなると
毎回ソースを渡してデベロッパーモードで入れて・・・なんてのが面倒になります。
そこでchrome storeに登録してアドレスを教える方法です。
使っている機能によっては、審査とかいろいろ面倒な部分もあり、時間もかかりますが
一度登録してしまえばあとは簡単です。
chrome storeでの公開方法については以下が参考になるかと思います。
https://support.google.com/chrome/a/answer/2714278?hl=ja
※グループ公開のみ登録料がかかるとなっていますが、現在はchrome storeに登録するのに登録料がかかります。
###crxファイルからインストール###
※現在、この方法は出来ません。
まず、crxファイルを作成します。
chrome://extensions/にアクセスしてデベロッパーモードになっていることを確認する。
__拡張機能をパッケージ化__から今回作成した拡張機能のフォルダを選択します。
初回であれば秘密鍵ファイルは指定なしで問題ないです。
アップデート等の場合は指定が必要です。
(秘密鍵ファイルが変わると拡張機能IDが変わります)
__拡張機能をパッケージ化__で「extensions.crx」と「extensions.pem」のファイルが作成されます。
pemファイルは保管してください。
前はcrxファイルをchromeブラウザにドラックアンドドロップでインストールできましたが
現在はインストールできません。
###ポリシーを設定してインストール###
では、chrome storeに登録しないとインストールできないのかというとそうでもありません。
AD(Active Directory)に参加していることが条件ですが
crxファイルをインストールすることは可能です。
こちらに記載がありますが
Chrome ウェブストアにないアプリや拡張機能を自動インストールするには、Microsoft® Active Directory® を使用するドメインにパソコンを参加させる必要があります。
とのことで実際にやってみます。
と言っても個人のPCはADに参加していないので今回はawsの無料枠を使ってAD環境を構築しています。
必要な環境は
DC(Domain Controller)、Webサーバー、クライアント(インストールするPC)です。
(ADの構築については割愛します)
まず、crxをwebサーバーに配置します。
次にインストール用のxmlファイルを作ります。
<?xml version='1.0' encoding='UTF-8'?>
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
<app appid='jaffchbndhdmfpcloegdijfnoehbigha'>
<updatecheck codebase='http://xxx.xxx.xxx.xxx/crx/extensions.crx' version='1.0' />
</app>
</gupdate>
appidには拡張機能IDを記載しますが、デベロッパーモードで読み込んだIDとcrxでインストールした時のIDが変わります。
今回は、crxでのインストールが目的のためcrxファイルでインストールした時のIDが必要です。
(私は)ハマったのでID取得の手順を書いておきます。
chrome://extensions/にアクセスしてデベロッパーモードになっていることを確認する。
更新(F5)する。
画面にcrxファイルをドラックアンドドロップする。
これだけなのですが、更新を忘れると、あれ?ってなります。
このような表示になりますのでIDをコピーしてappidに貼り付けます。
update.xmlとcrxファイルをWebサーバーに配置します。
http://xxx.xxx.xxx.xxx/crx/update.xml
http://xxx.xxx.xxx.xxx/crx/extensions.crx
####レジストリに登録####
インストール方法については以下に記載があります。
https://support.google.com/chrome/a/answer/7532015?hl=ja
インストールする方法はいろいろありますが、
今回は「ExtensionInstallForcelist」を使ってインストールしていきます。
本来であればDCでグループを作ってマシーンに対してレジストリを登録して・・・
とするところなのですがADに参加していれば手動でレジストリを登録してもインストールは可能なので
今回は手動で入れます。
以下のキーを作成します。
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\ExtensionInstallForcelist
作成したキーに文字列値を作成します。
名前は特になんでも良いかと思います。
値のデータは
[Chrome拡張機能ID];[update.xmlのパス]
になります。
ポリシーを確認するため「chrome://policy」にアクセスします。
このように設定されていることを確認したらChromeを再起動します。
「chrome://extensions/」にアクセスして拡張機能がインストールされていれば成功です。
今回は手動でレジストリの値を設定したので、DCからレジストリの値を変更すると上書きされます。
Chrome拡張機能作成については以上です。