其他擴充功能發布選項

所有 Chrome 擴充功能都必須直接從 Chrome 線上應用程式商店發布,或是使用 機制。如果違反上述任一發布方式, 違反 Chrome 擴充功能政策,並可能使用擴充功能和/或軟體 以散佈惡意軟體的形式將其標記為垃圾軟體

使用者通常會從 Chrome 線上應用程式商店安裝擴充功能,但使用者有時可能想要 擴充功能,可透過其他方式安裝以下是兩種典型案例:

  • 擴充功能已與其他軟體建立關聯,必須安裝擴充功能 每當使用者安裝該軟體時
  • 網路管理員想要在整個機構中安裝相同的擴充功能。

不是從 Chrome 線上應用程式商店安裝的擴充功能稱為外部擴充功能。 適用於想要在安裝其他軟體時,將擴充功能 或是網路管理員想要將擴充功能分發至整個機構 Google Chrome 支援下列擴充功能安裝方法:

  • 使用偏好設定 JSON 檔案 (僅適用於 Mac OS X 和 Linux)
  • 使用 Windows 登錄檔 (僅適用於 Windows)

兩種方法都支援安裝在 update_URL 代管的擴充功能。在 Windows 和 Mac 上, update_URL 必須指向必須代管擴充功能的 Chrome 線上應用程式商店。

Linux 上的偏好設定檔案可以指向您代管擴充功能的伺服器。 偏好設定 JSON 檔案也支援從.crx 執行 Linux 電腦

事前準備

首先,在 Chrome 線上應用程式商店中發布擴充功能,或封裝 .crx 檔案,然後 確認安裝成功。

如果是從更新網址安裝,請確定已正確代管擴充功能。

編輯偏好設定檔案或登錄檔之前,請記下下列事項:

  • 擴充功能 .crx 檔案的預期位置,或其更新網址 已放送
  • 擴充功能的版本 (從資訊清單檔案或 chrome://extensions 頁面)
  • 擴充功能的 ID (在您載入封裝套件後,從 chrome://extensions 頁面取得) 擴充功能)

以下範例假設版本為 1.0,ID 為 aaaaaaaaaabbbbbbbbbbcccccccccc

使用偏好設定檔案

  1. 如果是從 Linux 上的檔案安裝,請將 .crx 副檔名檔案設為 您要安裝擴充功能的電腦。(複製到本機目錄或網路 例如 \\server\share\extension.crx/home/share/extension.crx)。
  2. 在下列其中一個資料夾中建立名稱為以下名稱的檔案: aaaaaaaaaabbbbbbbbbbcccccccccc.json,其中檔案名稱 (不含副檔名) 對應 擴充功能的 ID。位置視作業系統而定。

    Mac OS X:

    特定使用者: ~USERNAME/Library/Application Support/Google/Chrome/External Extensions/ 針對所有使用者:/Library/Application Support/Google/Chrome/External Extensions/

    除非路徑中的每個目錄都擁有者,否則無法讀取所有使用者的外部副檔名檔案 由使用者 root 建立,包含「admin」或「wheel」群組,不俱全域寫入權限。路徑必須 且不得包含符號連結這些限制可防止未經授權的使用者 是要為所有使用者安裝的擴充功能。詳情請參閱疑難排解

    Linux:

    /opt/google/chrome/extensions/

    /usr/share/google-chrome/extensions/

    注意:如有必要,請使用 chmod 確保 aaaaaaaaaabbbbbbbbbbcccccccccc.json 檔案全都可供讀取

  3. 僅限 Linux:如果您是從檔案安裝,請使用 名為「external_crx」的欄位和「external_version」執行上述步驟

    • 範例:
    • json { "external_crx": "/home/share/extension.crx", "external_version": "1.0" }
    • 注意:您必須逸出每個 \` character in the location. For example,\server\share\extension.crxwould be"\\server\share\extension.crx"`。
    • 如果是從更新網址進行安裝,請使用欄位名稱指定擴充功能的更新網址 「external_update_url」。
    • 從本機 .crx 檔案安裝的範例 (僅限 Linux):
    • json { "external_update_url": "http://myhost.com/mytestextension/updates.xml" }
    • 從 Chrome 線上應用程式商店 (Mac 和 Linux) 安裝的範例:
    • json { "external_update_url": "https://clients2.google.com/service/update2/crx" }
    • 如果只想為部分瀏覽器語言代碼安裝擴充功能,請將 欄位名稱「supported_locale」中的語言代碼。語言代碼可指定上層語言代碼,例如「en」,在這種情況下, ,則系統會為所有英文語言代碼安裝擴充功能,例如「en-US」、「en-GB」等 擴充功能不支援所選的另一個瀏覽器語言代碼,外部 系統將解除安裝擴充功能。如果「supported_locales」缺少清單,副檔名會是 所有語言代碼都會安裝這個程式
    • 範例:
    • json { "external_update_url": "https://clients2.google.com/service/update2/crx", "supported_locales": [ "en", "fr", "de" ] }
  4. 儲存 JSON 檔案。

  5. 啟動 Google Chrome 並前往 chrome://extensions。就會看到擴充功能。

,瞭解如何調查及移除這項存取權。

排解 Mac OS 權限問題

在 Mac OS 上,只有當檔案系統權限時,才能讀取所有使用者的外部副檔名檔案 防止不具有特殊權限的使用者進行變更如果 Chrome 已啟動,可能是外部擴充功能偏好設定發生權限問題 檔案。如要確認這是否為問題所在,請按照下列步驟操作:

  1. 啟動 Play 管理中心程式。前往 /Applications/Utilities/Console 即可找到它。
  2. 如果控制台中最左側的圖示顯示「Show Log List」,請按一下該圖示。第二欄 。
  3. 按一下「Console 訊息」左側面板
  4. 搜尋「Can cannot read external extensions」字串。如果讀取 就會看到錯誤訊息。查看其他錯誤訊息 這應該會列出您遇到的問題舉例來說,如果看到下列錯誤訊息: 「路徑 /Library/Application Support/Google/Chrome 屬於錯誤的群組」 chgrp 或 Finder 的「取得資訊」對話方塊,將目錄的群組擁有者變更為 管理員群組。
  5. 修正問題後,請重新啟動 Chrome。測試外部擴充功能是否已安裝完成。這項服務 Chrome 偵測到第二個錯誤時可能發生這種錯誤。如果 未安裝外部擴充功能,請重複執行上述步驟,直到 控制台應用程式。

使用 Windows 登錄檔

  1. 在登錄檔中尋找或建立下列機碼:
    • 32 位元 Windows:HKEY_LOCAL_MACHINE\Software\Google\Chrome\Extensions
    • 64 位元 Windows:HKEY_LOCAL_MACHINE\Software\Wow6432Node\Google\Chrome\Extensions
  2. Extensions 金鑰下方建立新的索引鍵 (資料夾),名稱與以下項目的 ID 相同: 副檔名 (例如 aaaaaaaaaabbbbbbbbbbcccccccccc)。
  3. 在擴充功能金鑰中,建立屬性「update_url」,並設為以下值: "https://clients2.google.com/service/update2/crx"(這會指向擴充功能的 crx Chrome 線上應用程式商店):

    {
      "update_url": "https://clients2.google.com/service/update2/crx"
    }
    
  4. 啟動瀏覽器,然後前往 chrome://extensions。就會看到擴充功能。

更新及解除安裝

Google Chrome 會在每次瀏覽器時,掃描偏好設定與登錄檔中的中繼資料項目 並對已安裝的外部擴充功能做出必要變更

如要將擴充功能更新為新版本,請更新檔案,然後更新 偏好設定或註冊資料庫

如要解除安裝擴充功能 (例如解除安裝軟體時),請移除偏好設定 檔案 (aaaaaaaaabbbbbbbbbbcccccccc.json)

常見問題

本節會說明外部擴充功能的常見問題。

允許「預先安裝」應用程式的方法仍由 Google Chrome 從 M33 版提供支援 會發生什麼事?

可以,但只能從 Chrome 線上應用程式商店 (update_URL) 安裝,而非從本機檔案路徑。

我可以將網址指定為外部擴充功能的路徑嗎?

可以,請使用 Mac OS X 和 Linux 的偏好設定 JSON 檔案。安裝 Windows 的登錄檔。 擴充功能必須依照代管說明來代管。在偏好設定檔案中,使用 「external_update_url」屬性指向更新資訊清單,而該資訊清單擁有 。在 Windows 登錄檔中,使用「update_url」資源。

使用偏好設定檔案安裝時,可能會有哪些常見錯誤?

  • 未指定與 .crx 中所列 ID/版本相同的 ID/版本
  • .json 檔案 (aaaaaaaaaabbbbbbbbbbcccccccccc.json) 位於錯誤的位置或 ID 指定的擴充功能 ID 與擴充功能 ID 不符。
  • JSON 檔案中的語法錯誤 (忘記用半形逗號分隔項目或離開逗號 某處)
  • JSON 檔案進入點指向錯誤的 .crx 路徑 (或指定路徑,但未指定檔案名稱)
  • UNC 路徑中的反斜線未逸出 (例如 "\\server\share\file" 有誤, "\\\\server\\share\\extension")
  • 網路共用的權限問題

安裝登錄檔時有哪些常見錯誤?

  • 未指定與 Chrome 線上應用程式商店所列 ID/版本相同的 ID/版本
  • 建立的金鑰在登錄位置錯誤
  • Chrome 線上應用程式商店的 .crx 檔案路徑指向錯誤路徑
  • 網路共用的權限問題

如何逐步更新原生二進位檔和擴充功能?

以前只要支援商店外的擴充功能,就能夠使用原生二進位檔 系統會在鎖定步驟中更新擴充功能不過,Chrome 線上應用程式商店代管的擴充功能 而且開發人員無法控制這項更新機制。開發人員應該 更新含有原生二進位檔 (例如 舊版擴充功能使用 NPAPI)。

如果使用者解除安裝擴充功能,會發生什麼情況?

如果使用者透過 UI 解除安裝擴充功能,系統不會再於 每個開機的高度也就是說,系統會將外部擴充功能加入封鎖清單。

如何退出封鎖清單?

在使用者解除安裝擴充功能時,請予以尊重。不過,如果您 ( 開發人員) 不小心透過使用者介面解除安裝擴充功能,您可以移除封鎖清單標記 方法是透過使用者介面正常安裝擴充功能,然後解除安裝。