We're calling on all EU-based Mozillians with iOS or iPadOS devices to help us monitor Apple’s new browser choice screens. Join the effort to hold Big Tech to account!

Search Support

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

Firefox binds to absolute add-on paths, why?

more options

I tried to create a default Windows profile with pre-configured app settings, including FF. I created a temporary user, logged in, installed FF and configured it, also installed some add-ons (first of all, ublock origin). Then I logged out, logged as an administrator and moved the temporary user profile to the default profile location (c:\Users\Temp -> c:\Users\Default), and then reset its NTFS permissions. This almost always works for all applications, including Google Chrome. I created a new user and logged in, opened FF. The settings were applied, but the extensions did NOT work, and even the buttons on the toolbar looked like empty squares. At the same time, the add-ons were present in the list of add-ons in settings, although without icons. It helped to turn off and turn on all the add-ons one by one, manually.

After some research, I realized that FF binds its settings to absolute paths to add-on files (*.xpi), specifically in the $profile/extensions.json and $profile/addonStartup.json.lz4 files. Google Chrome, for example, doesn't do anything simular, like the vast majority of applications. Removing these files from the profile will cause all add-ons to be "reinstalled" on first launch and set to a disabled status.

An easier way to reproduce the problem: 1. Run firefox -profile d:\temp\profile1 2. Install some extensions. 3. Rename profile1 folder to profile2. 4. Run firefox -profile d:\temp\profile2 5. Got it!

For what purposes does firefox bind to absolute add-on paths, and how can this problem be solved? P.S. I know about portable firefox from PortableApps.com, but I don't want to use a third-party loader for my tasks.

I tried to create a default Windows profile with pre-configured app settings, including FF. I created a temporary user, logged in, installed FF and configured it, also installed some add-ons (first of all, ublock origin). Then I logged out, logged as an administrator and moved the temporary user profile to the default profile location (c:\Users\Temp -> c:\Users\Default), and then reset its NTFS permissions. This almost always works for all applications, including Google Chrome. I created a new user and logged in, opened FF. The settings were applied, but the extensions did NOT work, and even the buttons on the toolbar looked like empty squares. At the same time, the add-ons were present in the list of add-ons in settings, although without icons. It helped to turn off and turn on all the add-ons one by one, manually. After some research, I realized that FF binds its settings to absolute paths to add-on files (*.xpi), specifically in the $profile/extensions.json and $profile/addonStartup.json.lz4 files. Google Chrome, for example, doesn't do anything simular, like the vast majority of applications. Removing these files from the profile will cause all add-ons to be "reinstalled" on first launch and set to a disabled status. An easier way to reproduce the problem: 1. Run firefox -profile d:\temp\profile1 2. Install some extensions. 3. Rename profile1 folder to profile2. 4. Run firefox -profile d:\temp\profile2 5. Got it! For what purposes does firefox bind to absolute add-on paths, and how can this problem be solved? P.S. I know about portable firefox from PortableApps.com, but I don't want to use a third-party loader for my tasks.
Attached screenshots

Chosen solution

I'd suggest you creating a new bug about it, with a reference to these bugs and an additional note that paths are not being recomputed.

Read this answer in context 👍 0

All Replies (6)

more options

Helpful?

more options

The bug is several years old, will it ever be fixed? Why prescribe absolute paths for add-ons at all? A a lot of programs can be expanded with addons, most of them can use relative paths. Chrome does. Many people have encountered this problem, but for some reason it has not yet been fixed, despite the fact that the solution should be very simple. Is there some objective reason?

And do I understand correctly that at the moment the only way is to either use a third-party loader or write your own script?

Helpful?

more options

Yes, for me it looks like an architectural bug. I don't know whether they going to fix it, as "it seems that the addons mechanism knows how to recompute the JSON file and its paths in the event that the absolute paths do not match."

Helpful?

more options

TyDraniu said

Yes, for me it looks like an architectural bug. I don't know whether they going to fix it, as "it seems that the addons mechanism knows how to recompute the JSON file and its paths in the event that the absolute paths do not match."

But the problem is precisely that it does not recompute the paths?

Helpful?

more options

Chosen Solution

I'd suggest you creating a new bug about it, with a reference to these bugs and an additional note that paths are not being recomputed.

Helpful?

more options

Helpful?

Ask a question

You must log in to your account to reply to posts. Please start a new question, if you do not have an account yet.