I'm developing a desktop application that can integrate with some Mozilla application¹ through an add-on. I'd like to provide users the option to install the add-on through my application, but I haven't been able to find an official way fulfilling my requirements:
Is there a method to install an add-on fulfilling these requirements?
Options I considered, that do not fulfill these requirements:
updateURL
s in install.rdf (violates 1)I run into some profile-related bugs while testing, this option is better than my initial tests suggested:
¹ In my case, that is Thunderbird; but I'd like to keep the question open for Firefox as well, if possible.
² I do not think the issue could be resolved by using a custom opt-in dialog within my application, as Mozilla is known to blindly enforce policies for the Mozilla-defined "greater good" (see add-on signing).
While not an optimal solution, additional testing suggests the one of the initial approaches mentioned in the question works better than my initial tests suggested:
Copy the XPI into the extension
folder of all profiles that shall be affected, using the filename ID.xpi
where ID
is the id of the add-on (if the add-on requires unpacking, unpack it into a ID
folder instead).
This will install the add-on in a disabled state, but the user will be asked on the next application start whether he/she wishes to permit the installation. Upon user confirmation, the add-on will be enabled.
I'd welcome additional answers addressing the issues of this solution:
profiles.ini
in order to determine profile folder locations