使用其他安装方法

通常,Chrome 用户会通过以下方式安装扩展程序:访问 Chrome 应用商店中的扩展程序列表,然后直接从该页面安装扩展程序。但在某些情况下,采用其他安装流程可能更合适。例如:

  • 某个扩展程序与其他一些软件相关联,只要用户安装该软件,就应该安装该扩展程序。
  • 一位网络管理员想在整个组织中安装同样的扩展程序。

对于上述情况,Google Chrome 支持以下扩展程序安装方法:

这两种方式都支持安装托管在 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 应用商店网址中找到该 ID。

Chrome 应用商店商品 ID

从本地 CRX 文件安装

如果您要通过本地文件向 Linux 用户分发应用,则需要打包 CRX 文件,并注意以下信息:

  • 扩展程序 ID - 您可以在扩展程序管理页面 chrome://extensions 中找到该 ID。

  • 扩展程序版本 - 显示在扩展程序管理页面 chrome://extensions 或清单 JSON 文件中。

如何查找扩展程序 ID 和版本

  • CRX 文件的位置 - 可以是本地目录,也可以是网络共享。请确保要安装扩展程序的机器可以使用该文件。

从个人服务器安装

如果您要为 Linux 用户分发托管在个人服务器上的扩展程序,则需要按照在 Linux 上安装扩展程序中的说明操作,并注意以下信息:

  • 扩展程序 ID - 您可以在扩展程序管理页面 chrome://extensions 中找到该 ID。

  • update_url XML 文件路径 - 必须与清单 JSON 文件中声明的 update_url 字段的路径匹配。

以下示例假定版本为 1.0,扩展程序 ID 为 aaabbbcccdddeeefff。

使用偏好设置文件

macOS

  1. 使用扩展程序 ID 的名称创建 JSON 文件。例如:aaabbbcccdddeeefff.json
  2. 请将其放置在以下某个文件夹中:

    特定用户
    ~USERNAME/Library/Application Support/Google/Chrome/External Extensions/
    所有用户
    /Library/Application Support/Google/Chrome/External Extensions/
  3. 使用字段名称“external_update_url”指定更新网址。例如:json { "external_update_url": "https://clients2.google.com/service/update2/crx" }

  4. 保存 JSON 文件。

  5. 启动 Google Chrome 并转到 chrome://extensions;您应该会看到系统列出了该扩展程序。

排查 Mac OS 权限问题

在 macOS 上,只有在文件系统权限阻止无特权的用户更改该文件时,系统才会读取所有用户的外部扩展程序文件。如果您在 Chrome 启动后没有看到安装的外部扩展程序,则可能是外部扩展程序偏好设置文件存在权限问题。要了解这是否是问题所在,请按以下步骤操作:

  1. 启动 Play 管理中心计划。您可以在“/Applications/Utilities/Console”下找到该模拟器。
  2. 如果控制台最左边的图标显示“显示日志列表”,请点击该图标。左侧会显示第二列。
  3. 点击左侧窗格中的“控制台消息”。
  4. 搜索字符串 Can not read external extensions。如果读取外部扩展文件时出现问题,您会看到一条错误消息。请在它之前直接查看是否有其他错误消息,这应该会对问题进行说明。例如,如果您看到以下错误:“Path /Library/Application Support/Google/Chrome is own by the wrong group”,您需要使用 chgrp 或 Finder 的“获取信息”对话框将目录的群组所有者更改为管理员群组。
  5. 解决此问题后,请重新启动 Chrome。测试外部扩展程序现已安装完毕。某个权限错误可能会使 Chrome 无法检测到第二个错误。如果未安装外部扩展程序,请重复上述步骤,直到控制台应用中未出现错误为止。

Linux

  1. 使用扩展程序 ID 的名称创建 JSON 文件。例如:aaabbbcccdddeeefff.json
  2. 请将其放置在以下某个文件夹中:

    • /opt/google/chrome/extensions/
    • /usr/share/google-chrome/extensions/
  3. 以下列表介绍了通过 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" }
  4. 保存 JSON 文件。

  5. 启动 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 注册表

  1. 在注册表中查找或创建以下项:

    32 位 Windows
    HKEY_LOCAL_MACHINE\Software\Google\Chrome\Extensions
    64 位 Windows
    HKEY_LOCAL_MACHINE\Software\Wow6432Node\Google\Chrome\Extensions
  2. Extensions 键下创建一个新密钥(文件夹),其名称与您的扩展程序的 ID 相同。例如:aaabbbcccdddeeefff

  3. 在扩展程序键中,创建一个“update_url”属性并将其设为以下值: json { "update_url": "https://clients2.google.com/service/update2/crx" }

  4. 启动 Chrome。

  5. 转到 chrome://extensions;系统应该会列出该扩展程序。

更新和卸载

Google Chrome 每次启动时都会扫描偏好设置和注册表中的元数据条目,并对 Chrome 应用商店中托管的已安装外部扩展程序进行必要的更改。

如需将本地 CRX 文件扩展名更新到新版本,请更新文件,然后更新偏好设置 JSON 文件中的版本。

如需卸载扩展程序(例如卸载软件),请从注册表中移除偏好设置文件(例如 aaabbbcccdddeeefff.json)或元数据。

常见问题解答

本部分将解答有关外部扩展程序的常见问题。

Google Chrome 仍支持“预安装”吗?

可以,但只能作为从 Chrome 应用商店 update_url 安装,而不能通过本地 CRX 路径安装。如需了解详情,请参阅应用和扩展程序政策

使用偏好设置文件进行安装时有哪些常见错误?

  • 指定的 ID 或版本不与 CRX 文件中列出的 ID 或版本相同。
  • JSON 文件(例如 aaabbbcccdddeeefff.json)位于错误的位置,或者指定的 ID 与扩展程序 ID 不匹配。
  • JSON 文件中存在语法错误(忘记使用逗号分隔条目或在尾部留有逗号)。
  • JSON 文件条目指向 CRX 文件的错误路径(或已指定路径但未指定文件名)
  • UNC 路径中的反斜杠不会被转义。例如,"\\server\share\file" 是错误的;它应该为 "\\\\server\\share\\extension"
  • 网络共享出现权限问题。

使用注册表进行安装时有哪些常见错误?

  • 指定的 ID 不与 Chrome 应用商店中列出的 ID 相同。
  • 密钥是在注册表中的错误位置创建的。
  • 注册表条目指向 Chrome 应用商店中 CRX 文件的错误路径。
  • 网络共享出现权限问题。
  • 并非所有 Chrome 实例都会关闭。设置注册表后,请尝试重新启动计算机。

如果用户卸载了该扩展程序,会发生什么?

如果用户通过界面卸载该扩展程序,那么系统在每次启动时将不再安装或更新该扩展程序。换言之,外部扩展程序已列入屏蔽名单。

如何才能不在屏蔽名单中?

如果用户卸载了您的扩展程序,您应该尊重用户的决定。不过,如果您(开发者)不小心通过界面卸载了扩展程序,可以移除屏蔽名单标记,方法是通过界面正常安装扩展程序,然后将其卸载。