搜尋 Mozilla 技術支援網站

防止技術支援詐騙。我們絕對不會要求您撥打電話或發送簡訊,或是提供個人資訊。請用「回報濫用」功能回報可疑的行為。

了解更多

An extension installed globally for all users (in /usr/share/mozilla/extensions) does not load for an unobvious reason

  • 1 回覆
  • 1 有這個問題
  • 1 次檢視
  • 最近回覆由 zostajekni

more options

I need to automate the deployment of Firefox along with the extensions. I put three extensions (uBlock, Translate Web Pages, and Auto Tab Discard) in the /usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/. All extensions load normally, except Auto Tab Discard. When running firefox with the -jsconsole option, I see what the screenshot shows (the message "Invalid addon ID"). But the installation to user profile is successful. I add the extension ID to manifest.json, and get the following output in the console: addons.xpi-utils WARN addMetadata: Add-on {c2c003ee-bd69-42a2-b0e9-6f34222cb046} is invalid: Error: File /usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/{c2c003ee-bd69-42a2-b0e9-6f34222cb046} does not contain a valid manifest(resource://gre/modules/addons/XPIInstall.jsm:669:11) What can go wrong?

System: Debian 11 (bullseye) Firefox version: 91.4.1esr (amd64)

If you need any other information, please ask, I will write it down.

I need to automate the deployment of Firefox along with the extensions. I put three extensions (uBlock, Translate Web Pages, and Auto Tab Discard) in the /usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/. All extensions load normally, except Auto Tab Discard. When running firefox with the -jsconsole option, I see what the screenshot shows (the message "Invalid addon ID"). But the installation to user profile is successful. I add the extension ID to manifest.json, and get the following output in the console: addons.xpi-utils WARN addMetadata: Add-on {c2c003ee-bd69-42a2-b0e9-6f34222cb046} is invalid: Error: File /usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/{c2c003ee-bd69-42a2-b0e9-6f34222cb046} does not contain a valid manifest(resource://gre/modules/addons/XPIInstall.jsm:669:11) What can go wrong? System: Debian 11 (bullseye) Firefox version: 91.4.1esr (amd64) If you need any other information, please ask, I will write it down.
附加的畫面擷圖

由 zostajekni 於 修改

被選擇的解決方法

The solution is found. There were two problems at once.

First, in order for the extension to be loaded by the browser, manifest.json (which is in the root of the directory with the extension) must have the following required minimum:

 {
   "manifest_version": 2,
   "name": "Extension Name",
   "version": "0.1.2",
   "applications": {
     "gecko": {
       "id": "{0a1b2c3d-0123-abcd-cdef-a0b1c2d3e4f5}"
     }
   }
 }


And the name of the .xpi file of the extension (which is actually a zip archive) or the directory with the unzipped extension must match the "id" value in manifest.json.

Secondly, it is necessary to check the permissions of the files and directories. In my case, the permissions of the extension directory, for some strange reason, were 700. At the same time, the extension did not have an "id" key in manifest.json, which additionally hindered diagnosis of the problem.

The illogical thing here is that when you install the extension in the user's profile, Firefox installs it without any problem, regardless of the invalid mainfest.json. There's no reason for this difference in behavior, it's just a headache for system administrators.

從原來的回覆中察看解決方案 👍 0

所有回覆 (1)

more options

選擇的解決方法

The solution is found. There were two problems at once.

First, in order for the extension to be loaded by the browser, manifest.json (which is in the root of the directory with the extension) must have the following required minimum:

 {
   "manifest_version": 2,
   "name": "Extension Name",
   "version": "0.1.2",
   "applications": {
     "gecko": {
       "id": "{0a1b2c3d-0123-abcd-cdef-a0b1c2d3e4f5}"
     }
   }
 }


And the name of the .xpi file of the extension (which is actually a zip archive) or the directory with the unzipped extension must match the "id" value in manifest.json.

Secondly, it is necessary to check the permissions of the files and directories. In my case, the permissions of the extension directory, for some strange reason, were 700. At the same time, the extension did not have an "id" key in manifest.json, which additionally hindered diagnosis of the problem.

The illogical thing here is that when you install the extension in the user's profile, Firefox installs it without any problem, regardless of the invalid mainfest.json. There's no reason for this difference in behavior, it's just a headache for system administrators.

由 zostajekni 於 修改