How to create xpi file with 7Zip?

Also, here's how I pack an extension for Firefox with command line 7z:

cd /the/extension/folder/
7z a ../<extension_name>.xpi * -r

(where 'a' stands for "add/create" and "-r" for recursive)

Or to update the extension with the file(s) we just edited:

cd /the/extension/folder/
7z u ../<extension_name>.xpi * -r

("u" for update the archive's content)


If you are on windows (to install cygwin it looks like you do), you can use the windows built in tool:

  1. Select the contents of the extension (remember, don't select the outside folder).
  2. Right Click
  3. Send to
  4. Compressed (zipped) folder

Then just replace the .zip for .xpi in the filename

Looks like your problem is on completing the point 1. correctly. Select only the contents of the extension. Not the folder that contains it.

So basically your zip file should have following structure:

my_extension.zip
  |- install.rdf
  |- chrome.manifest
  |- <chrome>

and NOT this structure:

my_extension.zip
  |- <my_extension>
       |- install.rdf
       |- chrome.manifest
       |- <chrome>

I experienced the same problems today and found the error to be that the add-on was obviously not signed by Mozilla, causing Firefox to refuse the installation. Up until recently, it was possible to by-pass this security check by setting xpinstall.signatures.required to false in about:config. However, as of Firefox 46, signing is mandatory and no by-pass is provided any longer, see https://blog.mozilla.org/addons/2016/01/22/add-on-signing-update/ This means that one has to either downgrade to a previous version or use a non release channel version to test one's addons :(


When pack extension using 7z, compress into .zip and then rename to .xpi, dont compress i