简体   繁体   中英

How to properlly rebuild a .xpi file for Firefox +45.0.1?

I would like to force the compatibility of FastDial for the new Firefox 4.5.0.1, and other extensions.

I did this in the past for a lot of addons, I know the procediment... the xpi is just a zip file, that when extracted their contents, you will find a file with name Install.rdf , containing this line:

<em:maxVersion>X.0</em:maxVersion>

Then the desired version is set, and recompress the Zip, and change the .zip extension to .xpi.

However, that methodology is not working for Firefox 45.0.1 (x86).

This is what always happens when trying to install a rebuilt xpi using the known methodology:

在此处输入图片说明

The Spanish error-message of the image above says:

This addon cannot be installed because seems damaged.

So... what changed in this damn Firefox 4.5.0.1 that does not accept our rebuilt addons?.

UPDATE

I noted that the problem is with the Install.rdf file, If I do not change the <em:maxVersion>...</em:maxVersion> , then I can recompress properlly the package and it is recognized by this new Firefox.

Then how I need to edit the Install.rdf file to avoid "corrupting" the xpi package for this new Firefox?.

I tried using Wordpard to edit the rdf file, I also tried Sublime Text, saving the file with and without BOM (UTF-8), and for re-compressing the package I used WinRar (I always used WinRar to do it), saving it as Zip, not RAR, of course.

All extensions distributed by Mozilla for Firefox are signed by Mozilla . The files containing the signatures are in the META-INF directory within the extension's top level directory. These signature files are what are used to verify that the extension has not been modified from what has been reviewed and distributed by Mozilla.

To get past the error you are seeing, you will need to remove that directory and its contents.

You will then have an issue that the extension is not signed. Firefox will then refuse to load it for that reason. The quick solution to that is to set xpinstall.signatures.required to false in about:config . However, that will only be effective in release and beta versions of Firefox until the next version update, or so. When exactly changing that option will no longer work is not clear. Turning off the availability of that option in the release and beta versions of Firefox has been a moving target, but the change is coming very soon. The option should continue to work in the Developer Edition of Firefox.

Beyond those options, you will need to have the new extension, which you created by making any changes, signed by Mozilla. You will have to treat it as a new extension (ie you will have to create a new ID for it). Some resources which will help in figuring extension signing out (it would be a different question) are:

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM