Icons not showing after newly written extension is zipped to xpi
I'm a novice who's learning overlay extensions. I've been through a good bit of the tutorial. I then built a basic extension shell with a custom toolbar button by following the steps in https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Toolbars/Custom_toolbar_button. As part of the exercise, I downloaded the two recommended icons (for add-ons manager and the toolbar), and did not modify them. I did add some code to the java file. I copied the (unzipped) extension folder to the extensions folder in my profile, as instructed, and restarted the browser. An install dialog was launched, and when I responded okay, the extension installed perfectly. The icons showed up in add-on manager, and I was able to drag the button icon to the toolbar. The button works fine, launching the java.
Then, following instructions on another tutorial page, I used 7-zip to archive all items from the root extension folder, in Zip format, and gave the file an xpi extension. I then uninstalled the original extension from the extensions folder, and bounced the browser. Then, from add-ons manager, I invoked "install add-on from file", and selected the new xpi file. The install went through the usual confirmations, and the extension was now reinstalled. Only one problem -- both icons are blank. Both in the add-ons manager, and on the toolbar button. I can click the ghost button in the toolbar, and it still launches the java, but no png images show up, including in the customization dialog.
I've tried manually installing the extension again, and the icons show up. But a subsequent xpi install leaves them blank. I tried re-creating the xpi file by using the Windows zip program instead of 7-zip, but still got blank icons.
In searching the web, I found an instance of another user who lost the icon images only after zipping the extension, so it's not just me. But the responses to that post didn't seem helpful.
It was necessary to set unpack to true in the install rdf, so that all icons would get unzipped and be available for use.在上下文中阅读这个答案 👍 0
It was necessary to set unpack to true in the install rdf, so that all icons would get unzipped and be available for use.