2015-12-21 201 views
5

我們有需要在組織內部使用的Google Chrome擴展程序。我們在那裏有域名。企業策略的Chrome擴展程序中的ExtensionInstallSources

基於enterprise options對我們來說最簡單的方法是舉辦它的一些內部Web服務器上,然後通過組策略對用戶PC添加內部站點ExtensionInstallSources選擇的地址,但這個簡化版,爲我工作。

我已經嘗試了註冊表和本地組策略更改,方法是添加Google Chrome adm \ admx文件。

這裏是我的註冊表更改:

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\ExtensionInstallSources] 
"1"="http://localhost/*" 

當我檢查鉻://政策 - 它顯示它加載這個設置。但是當我打開http://localhost/myextension.crx - Chrome仍然會顯示擴展不能從那裏安裝了一個錯誤...

我使用的是Windows 8.1企業(64) 下47.0.2526.106米(64位)是我在這裏做錯了嗎?

我有更復雜的選項來下載chrome source \ pdbs,然後嘗試調試它以瞭解它爲什麼不起作用,但這可能需要很長時間,因爲Chrome可以在Windows上編譯幾個小時第一次構建....

回答

9

所以顯然這個註冊表變化是不夠的。調試鉻源後,我發現它爲什麼不適合我。我錯過了:

  1. 引用者必須存在,它也應該列入白名單。所以,如果我通過直接鏈接打開我的擴展的url,那麼作爲引用者缺少 - 它不會安裝它。 (哦,鉻,至少你可以說有關它的消息...)。如果我的網頁上有該擴展程序的鏈接,並且它也被列入白名單,那麼它將正常工作。

  2. 第二個遺漏的問題是,擴展名必須存在於ExtensionInstallWhitelist中,否則Chrome會安裝它,並且延遲2-3秒會禁用它。但是,如果你已經將它列在ExtensionInstallWhitelist下,那就沒問題。

所以我對本地主機的最終註冊表的變化是:

[HKEY_LOCAL_MACHINE \ SOFTWARE \策略\谷歌\ Chrome瀏覽器]

[HKEY_LOCAL_MACHINE \ SOFTWARE \策略\谷歌\鍍鉻\ ExtensionInstallSources] 「1」= 「HTTP://本地主機/ *」

[HKEY_LOCAL_MACHINE \ SOFTWARE \政策\谷歌\鉻\ ExtensionInstallWhitelist] 「1」=「fhojekmcngnmkdbcoegjd lojgfngkpak」

我發現它在ExtensionManagement類長時間的調試之後 - https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/extensions/extension_management.cc&q=ExtensionManagement::IsOffstoreInstallAllowed&sq=package:chromium&type=cs&l=148

+0

你說的引用者(步驟1)是什麼意思? – doniyor

+1

By referer我指的是有擴展鏈接的頁面的URL,因爲該頁面的URL通過https://en.m.wikipedia.org/wiki/HTTP_referer傳遞,它也應該是白名單 –