2016-04-06 173 views
1

我們爲團隊成員創建了一個Chrome擴展,我們希望自己託管它。安裝自我託管的Chrome擴展

我知道非網店的安裝策略,我覺得我已經正確設置了它,但它不起作用。

以下是我有:

設置我的清單與更新URL像這樣的擴展ID鍵:

{ 
    "update_url": "https://ourownserver.com/extensions/updates.xml", 
    "key":"obljkonioibfihfjbaiidbobmckpkned", 
.... 
} 

我創建updates.xml這樣的:

<gupdate xmlns="http://www.google.com/update2/response" protocol="2.0"> 
    <app appid="obljkonioibfihfjbaiidbobmckpkned"> 
     <updatecheck codebase="some-extension.crx" version="3.6"/> 
    </app> 
</gupdate> 

我用chrome://extensions打包.crx和.pem文件,並將它們全部刪除爲https://ourownserver.com/extensions/,如下所示:

;

我使用註冊表編輯器添加ExtensionInstallWhitelistExtensionInstallSourcesHKEY_LOCAL_MACHINE下如下:

enter image description here

enter image description here

我再關閉瀏覽器並重新打開它

後做所有這一切,我希望這會發生https://ourownserver.com/extensions/extensionName.crx將安裝該擴展並且它將被啓用。但是,如果我去https://ourownserver.com/extensions/extensionName.crx我仍然得到:

enter image description here

而且擴展選項卡上,它已安裝,但禁用,有這樣一條消息:

enter image description here

即時通訊思想,我有不正確添加註冊表項,但我無法找到更詳細的演練。

我在做什麼錯在這裏?

+1

在您的updates.xml中,您是否曾嘗試在codebase =「bookit-feedback.crx」中放入完整路徑給您的擴展名。即https://ourownserver.com/extensions/bookit-feedback.crx(或者它曾經託管的地方),而不僅僅是bookit-feedback.crx? – dan

+0

@ dan75謝謝,就是這麼做的。我不會認爲這對初始安裝很重要,但確實,在'updates.xml'中使用絕對路徑修復了這個問題。如果你拋出一個答案,我會接受它:),再次感謝 – DelightedD0D

+0

沒問題,很高興它的工作。 – dan

回答

2

您的更新XML需要包含擴展CRX的絕對路徑,而不是相對路徑。例如:

<gupdate xmlns="http://www.google.com/update2/response" protocol="2.0"> 
    <app appid="obljkonioibfihfjbaiidbobmckpkned"> 
     <updatecheck codebase="https://ourownserver.com/extensions/some-extension.crx" version="3.6"/> 
    </app> 
</gupdate> 
+0

今天我發現的其他東西,「* referrer *」必須位於ExtensionInstallSources列表中,我的意思是說你不能簡單地在地址欄中放置https:// ourownserver.com/extensions/some-extension.crx,你必須在'https:// ourownserver.com'的某處指向'https:// ourownserver.com/extensions/some-extension.crx'並讓用戶真正點擊那個鏈接,請求**來自https://ourownserver.com**。昨天晚上,我把頭髮拉出了一小時,在那個小細節上 – DelightedD0D