Correction. I goofed this morning. I’d mistake my developer-edition-default profile folder with my default profile folder. The truth is that when I replace my syncextension@sheepsystems.com folder in Profiles/xxxxxxxx.default/extensions with the failing folder from this user, and relaunch Firefox, Firefox disables it for me too.
There’s more. The short answer is that the problem is the stupid .DS_Store files, as Jorge suggested.
Longer answer: User told me after reading Jorge’s post that he runs a script on his Mac that remove .DS_Store files every hour!! Also, I asked him a couple days ago to look inside the installed extension and inside the META-INF folder to make sure the signatures were in there. Finally, I noticed that the extensions I ship, unfortunately, contain one .DS_Store file, inside the ‘chrome’ subfolder. Now, when I compare the extension as initially installed with the extension he sent me, there are three differences: (1) He has an extra .DS_Store file in the root level, (2) He has an extra .DS_Store file in META-INF and (3) He has a missing .DS_Store file in the ‘chrome’ subfolder. If you’ve been following everything I said so far, you’ll realize that it all adds up. I think this issue is now understood and resolved.
Conclusions:
-
I should review my extension packing script to ensure that I have no .DS_Store files anywhere. (I think that this is recommended in the documentation anyhow.)
-
Scripts that remove .DS_Store files are not only silly but evil.
-
Jorge, please tell me if there is a way to change my extension so that Firefox will not unzip it during installation, as you suggested.