結論をざっくりに言うと manifest.json に id が記述されていない可能性がありますので、もし書いてないのであれば世界でユニークな値を作って記述すれば、それで解決する可能性が高いです。以下は本文です。
Thunderbirdはメーラーアプリの一つです。Thunderbirdにはアドオンを追加する機能があり、自前で作った機能を使わせることができます。この記事ではアドオンを作った際に起きうる、一時的なアドオンとして正常に動くのに「ファイルからアドオンをインストール」でインストールできない時の対処法を紹介します。
Thunderbirdのアドオンをローカルで作った際、まず一時的なアドオンとしてテストすることになります。ここで問題なく動作することが確認できれば、おおむね問題なさそうなのですが実際にファイルからアドオンをインストールする際に問題が起きる場合があります。この問題が起きると次のように「このアドオンは、壊れているためインストールできませんでした。」というメッセージが表示されます。
こうなる原因の一つに manifest.json の記述が足りていない可能性があります。プログラム本体として適切であるが、アドオンとして認められるための情報が足りない、というやつです。もし manifest.json に次の様なidの項目がなければ雑にUUIDでも生成して追記し、あらためてインストールを試みましょう。恐らく解決します。
"browser_specific_settings": { "gecko": { "id": "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}" } }
例ではidでしたが、何がしかmanifest.jsonが不正の場合は同様のことが起きます。
manifest.json の具体的な仕様は下記リンクから参照できる Thunderbird 公式の開発者ドキュメントにあります。残念ながら日本語版がなく読むのがいささか手間ですが、何かに詰まった時は頼りになります。
A Guide to Extensions | Thunderbird
Supported Manifest Keys | Thunderbird