通常,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 应用商店网址中找到此 ID。
从本地 CRX 文件安装
如果您要通过本地文件向 Linux 用户分发扩展程序,则需要打包 CRX 文件,并注意以下信息:
扩展程序 ID - 您可以在扩展程序管理页面
chrome://extensions
中找到此 ID。扩展程序版本 - 此信息显示在扩展程序管理页面
chrome://extensions
或清单 JSON 文件中。
- CRX 文件的位置 - 这可以是本地目录或网络共享位置。确保文件可供要安装扩展程序的机器使用。
从个人服务器安装
如果您要面向 Linux 用户分发托管在个人服务器上的扩展程序,则需要按照在 Linux 上安装扩展程序中的说明操作,并注意以下信息:
扩展程序 ID - 您可以在扩展程序管理页面
chrome://extensions
中找到此 ID。update_url XML 文件路径 - 此路径必须与清单 JSON 文件中声明的
update_url
字段的路径一致。
以下示例假定版本为 1.0,扩展程序 ID 为 aaabbbcccdddeeefff。
使用偏好设置文件
macOS
- 创建一个 JSON 文件,并为其命名为扩展程序 ID。例如:
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 下找到它。
- 如果控制台最左侧的图标显示“显示日志列表”,请点击该图标。左侧会显示第二个列。
- 点击左侧窗格中的“控制台消息”。
- 搜索字符串 Can not read external extensions。如果读取外部扩展程序文件时出现问题,您会看到一条错误消息。查找该错误消息前面的另一条错误消息,其中应该会说明问题。例如,如果您看到以下错误:“Path /Library/Application Support/Google/Chrome is owner of the wrong group”,则您需要使用
chgrp
或“访达”的“获取信息”对话框将目录的群组所有者更改为管理员群组。 - 解决问题后,请重启 Chrome。测试外部扩展程序现已安装完毕。一个权限错误可能会导致 Chrome 无法检测到第二个错误。如果未安装外部扩展程序,请重复这些步骤,直到您在 Play 管理中心应用中不再看到错误。
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 相同的 ID。
- 密钥在注册表中的错误位置创建。
- 注册表条目指向 Chrome 应用商店中 CRX 文件的错误路径。
- 网络共享存在权限问题。
- 并非所有 Chrome 实例都会关闭。设置注册表后,请尝试重新启动计算机。
如果用户卸载扩展程序,会怎么样?
如果用户通过界面卸载扩展程序,系统将不再在每次启动时安装或更新该扩展程序。也就是说,外部扩展程序已被列入屏蔽名单。
如何移除屏蔽名单?
如果用户卸载您的扩展程序,您应尊重用户的决定。不过,如果您(开发者)不小心通过界面卸载了扩展程序,则可以通过以下方式移除屏蔽名单标记:通过界面正常安装扩展程序,然后将其卸载。