I agree that installing extensions silently or making them unremovable are problematic - however I take issue at them removing the ability to install extensions automatically.
So, imagine I'm writing some kind of desktop app that needs a companion browser extension to work correctly - a malware scanner, password manager, etc. The program will break if the companion extension is not present.
I guess for the user who installs the program, the installer can ask the user to visit AMO and install the extension themselves - however, how would this be accomplished for other users?
If your application _needs_ a companion extension installed, be a good citizen of other people's computers and during the installation, add a step that says "this application needs the Bleep Bloop extension to work. Do that now?" and if they click yes, you do a system call to open https://yoursite.kibbles/products/bleepbloop/extension so they can take care of that part. And if they click no, go "in order for this software to work, you will need to install the Bleep Bloop extension. You can do this from help -> install web extension after installation" so that your users have a completion path afterwards, when they simply run your application.
Or, when they click OK you can make your installer tell the OS to "run" your .xpi file, which will open Firefox, and ask the user whether that extension is really something they want to install. And then when they click no you tell them that they can initiate the .xpi install process at any time by going to your application's help -> install extension or something.
What you _can't_ do, and what you should never have done in the first place, is copy a file into the magic Firefox directory that forces that extensions to be loaded outside of the control of every user and profile for Firefox on that computer.
So, imagine I'm writing some kind of desktop app that needs a companion browser extension to work correctly - a malware scanner, password manager, etc. The program will break if the companion extension is not present.
I guess for the user who installs the program, the installer can ask the user to visit AMO and install the extension themselves - however, how would this be accomplished for other users?