一般而言,Chrome 使用者會造訪 Chrome 線上應用程式商店中的擴充功能資訊來安裝擴充功能,然後直接從該網頁安裝擴充功能。但在某些情況下,其他安裝流程可能更加合適。例如:
- 擴充功能與部分其他軟體相關聯,且每當使用者安裝該軟體時,都應安裝擴充功能。
- 如果網路管理員想為整個機構安裝相同的擴充功能,
在之前的案例中,Google Chrome 支援下列擴充功能安裝方法:
- 使用偏好設定 JSON 檔案 (僅限 macOS X 和 Linux)
- 使用 Windows 登錄檔 (僅限 Windows)
這兩種方法都支援安裝由 update_URL
代管的擴充功能。在 Windows 和 macOS 中,update_URL
必須指向 Chrome 線上應用程式商店。使用這些方法安裝擴充功能時,Windows 和 macOS 使用者必須透過下列確認對話方塊啟用擴充功能:
在 Linux 中,偏好設定檔案可以指向 Chrome 線上應用程式商店擴充功能、外部代管的擴充功能或使用者電腦上的 CRX 擴充功能檔案。系統不會提示 Linux 使用者啟用該擴充功能;系統會自動安裝。
事前準備
從 Chrome 線上應用程式商店安裝
如果您要發布的擴充功能是由 Chrome 線上應用程式商店代管,必須先發布擴充功能。接著,請注意下列事項:
- 更新網址:
https://clients2.google.com/service/update2/crx
。這個網址會指向 Chrome 線上應用程式商店。 - 擴充功能的 ID:您可以在擴充功能的 Chrome 線上應用程式商店網址中找到這項資訊。
從本機 CRX 檔案安裝
如果要從本機檔案發行給 Linux 使用者,您必須封裝 CRX 檔案,並注意下列資訊:
擴充功能 ID:可在擴充功能管理頁面
chrome://extensions
找到。擴充功能版本:會顯示在擴充功能管理頁面
chrome://extensions
或資訊清單 JSON 檔案中。
- CRX 檔案的位置:可以是本機目錄或網路共用區。請確保您要安裝擴充功能的機器提供該檔案。
從個人伺服器安裝
如要發布由個人伺服器代管的擴充功能,供 Linux 使用者使用,請按照在 Linux 上安裝擴充功能的操作說明,並留意下列資訊:
擴充功能 ID:可在擴充功能管理頁面
chrome://extensions
找到。update_url XML 檔案路徑:這必須與資訊清單檔案 JSON 檔案中宣告的
update_url
欄位路徑相符。
以下範例假設版本 ID 為 1.0,擴充功能 ID 為 aaabbbcccdddeeefff。
使用偏好設定檔案
macOS
- 使用擴充功能 ID 名稱建立 JSON 檔案。例如:
aaabbbcccdddeeefff.json
放入下列其中一個資料夾中:
- 特定使用者
~USERNAME/Library/Application Support/Google/Chrome/External Extensions/
- 所有使用者
/Library/Application Support/Google/Chrome/External Extensions/
使用欄位名稱為「external_update_url」指定更新網址。例如:
json { "external_update_url": "https://clients2.google.com/service/update2/crx" }
儲存 JSON 檔案。
啟動 Google Chrome 並前往 chrome://extensions;畫面上應該會顯示擴充功能。
排解 Mac OS 權限問題
在 macOS 中,只有在檔案系統權限禁止未經授權使用者變更外部擴充功能檔案時,系統才會讀取所有使用者適用的外部擴充功能檔案。如果您啟動 Chrome 後並未看到外部擴充功能,可能是因為外部擴充功能偏好設定檔案的權限問題。如要確認這是否為問題所在,請按照下列步驟操作:
- 啟動控制台計畫。它位於 /Applications/Utilities/Console。
- 如果控制台中最左側的圖示顯示「顯示記錄清單」,請按一下該圖示。畫面左側會顯示第二欄。
- 按一下左窗格中的「Console Messages」(控制台訊息)。
- 搜尋 Can not read external extensions 字串。如果讀取外部擴充功能檔案時發生問題,您會看到錯誤訊息。請先尋找其他錯誤訊息,這樣應該就能說明問題所在。舉例來說,如果您看到下列錯誤訊息:「Path /Library/Application Support/Google/Chrome 所擁有的群組有誤」,您必須使用
chgrp
或 Finder 的「取得資訊」對話方塊,將目錄的群組擁有者變更為系統管理員群組。 - 修正問題後,請重新啟動 Chrome。測試是否已安裝外部擴充功能。這可能是因為有一項權限錯誤導致 Chrome 無法偵測到第二次錯誤。如果未安裝外部擴充功能,請重複執行這些步驟,直到您在主控台應用程式中看到錯誤為止。
Linux
- 使用擴充功能 ID 名稱建立 JSON 檔案。例如
aaabbbcccdddeeefff.json
。 放入下列其中一個資料夾中:
/opt/google/chrome/extensions/
/usr/share/google-chrome/extensions/
以下清單說明如何透過 Chrome 線上應用程式商店、CRX 檔案或個人伺服器安裝擴充功能:
- 如要安裝 Chrome 線上應用程式商店擴充功能,請使用「external_update_url」欄位名稱指定更新網址。例如:
json { "external_update_url": "https://clients2.google.com/service/update2/crx" }
- 如要從 CRX 檔案安裝擴充功能,請在「external_crx」指定位置,並在「external_version」中指定版本。例如:
json { "external_crx": "/home/share/extension.crx", "external_version": "1.0" }
- 如要安裝「由個人伺服器代管」的擴充功能,「external_update_url」欄位必須指向 XML 檔案,如以下範例所示:
json { "external_update_url": "http://myhost.com/mytestextension/updates.xml" }
- 如要安裝 Chrome 線上應用程式商店擴充功能,請使用「external_update_url」欄位名稱指定更新網址。例如:
儲存 JSON 檔案。
啟動 Google Chrome 並前往 chrome://extensions;畫面上應該會顯示擴充功能。
支援的語言代碼
如果您只想安裝某些瀏覽器語言代碼的擴充功能,可以在欄位名稱「supported_locales」列出支援的語言代碼。語言代碼可能會指定父項語言代碼,例如「en」,在此情況下,系統會針對所有英文語言代碼 (例如「en-US」、「en-GB」等) 安裝擴充功能。如果選取的另一個瀏覽器語言代碼不支援擴充功能,系統就會解除安裝外部擴充功能。如果缺少「supported_locales」清單,系統將針對所有語言代碼安裝擴充功能。 例如:
{
"external_update_url": "https://clients2.google.com/service/update2/crx",
"supported_locales": [ "en", "fr", "de" ]
}
使用 Windows 登錄
在登錄檔中找出或建立下列機碼:
- 32 位元 Windows
HKEY_LOCAL_MACHINE\Software\Google\Chrome\Extensions
- 64 位元 Windows
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Google\Chrome\Extensions
在「Extensions」鍵下方建立新的金鑰 (資料夾),名稱與擴充功能 ID 相同。例如:
aaabbbcccdddeeefff
。在擴充功能鍵中建立「update_url」屬性,並將其設為下列值:
json { "update_url": "https://clients2.google.com/service/update2/crx" }
啟動 Chrome。
前往 chrome://extensions,畫面上應該會顯示擴充功能。
更新及解除安裝
每次瀏覽器啟動時,Google Chrome 都會掃描偏好設定和登錄檔中的中繼資料項目,並針對 Chrome 線上應用程式商店代管的已安裝外部擴充功能進行必要的變更。
如要將本機 CRX 副檔名更新為新版本,請更新檔案,然後更新偏好設定 json 檔案中的版本。
如要解除安裝擴充功能 (例如已解除安裝軟體),請從登錄檔中移除偏好設定檔案 (例如 aaabbbcccdddeeefff.json
) 或中繼資料。
常見問題
本節會解答外部擴充功能的常見問題。
Google Chrome 是否仍支援「預先安裝」功能?
可以,但只能從 Chrome 線上應用程式商店 update_url
安裝,而非從本機 CRX 路徑安裝。詳情請參閱應用程式和擴充功能政策。
使用偏好設定檔案進行安裝時,有哪些常見錯誤?
- 未指定與 CRX 檔案所列 ID 或版本相同的 ID 或版本。
- JSON 檔案 (例如
aaabbbcccdddeeefff.json
) 位於錯誤的位置,或是指定的 ID 與擴充功能 ID 不符。 - JSON 檔案中的語法錯誤 (忘記用半形逗號分隔項目,或在結尾加上半形逗號)。
- JSON 檔案項目指向錯誤的 CRX 檔案路徑 (或是指定的路徑但沒有檔案名稱)
- UNC 路徑中的反斜線未逸出。舉例來說,
"\\server\share\file"
有誤;應為"\\\\server\\share\\extension"
。 - 網路共用中的權限問題。
使用登錄檔進行安裝時,有哪些常見錯誤?
- 未指定與 Chrome 線上應用程式商店列出的 ID 相同。
- 你在登錄中的金鑰建立位置有誤。
- 登錄進入點指向 Chrome 線上應用程式商店中 CRX 檔案的路徑錯誤。
- 網路共用中的權限問題。
- Chrome 並未關閉所有執行個體。設定登錄檔後,請嘗試重新啟動電腦。
如果使用者解除安裝擴充功能,會發生什麼情況?
如果使用者透過 UI 解除安裝擴充功能,系統將不再在每次啟動時安裝或更新擴充功能。換句話說,系統會將外部擴充功能列入封鎖清單。
如何退出封鎖清單?
如果使用者解除安裝擴充功能,請尊重這一點。不過,如果您 (開發人員) 不小心透過 UI 解除安裝擴充功能,可以透過 UI 正常安裝擴充功能,然後解除安裝,即可移除封鎖清單標記。