2011-02-06 3 views
1

Cela fait quelques jours que je me suis creusé la tête et ni moi ni Google n'avons trouvé une bonne solution.Le plugin NPAPI natif n'est pas chargé par Firefox Beta 4

J'ai un plugin natif NPAPI qui fonctionne bien pour Firefox 3.6. Il se compose simplement d'un seul fichier * .dll, rien d'autre.

Maintenant, je le mets à jour vers Firefox 4 Beta. J'ai changé le fichier install.rdf pour inclure la nouvelle directive em: unpack (les XPI ont été décompactés automatiquement dans Pre-4) et j'ai même ajouté un nouveau chrome.manifest avec l'instruction (supposée) maintenant "binary-component" (selon https://developer.mozilla.org/en/XPCOM/XPCOM_changes_in_Gecko_2.0: 'Avant Gecko 2, lors de l'enregistrement des composants, tous les fichiers de composants binaires et JavaScript étaient chargés et appelés, leur demandant de s'enregistrer').

Le problème est: Le plugin télécharge et soi-disant installe. Mais alors qu'il apparaît dans le gestionnaire AddOn, il n'apparaît pas dans 'about: plugins' et n'est bien sûr pas utilisable non plus. J'ai couru Firefox avec la connexion d'extension activée mais rien de vraiment utile concernant le plugin est apparu là non plus ..

Fondamentalement, je suis perplexe - toute aide s'il vous plaît?

+0

ça marche si vous l'installez comme un plug-in à la place de comme une extension? – taxilian

+0

oui, c'est le cas - j'ai copié le fichier np * .dll manuellement dans le dossier plugin et cela a fonctionné comme dans 3.6. En attendant, j'ai récupéré la dernière source de Firefox 4 et compilé une version de débogage. Si j'installe via XPI, la DLL est chargée, mais uniquement pour XPCOM. Il était utilisé dans Firefox Pre-4 pour charger automatiquement la DLL et appeler le NSAPI NP_Initialize/NP_GetEntryPoints approprié. Peut-être que cette fonctionnalité est parti en 4? – mhoffesommer

+0

Je suppose que le pire des cas, je pourrais écrire une DLL XPCOM ainsi que «bourre» la DLL NPAPI dans le répertoire plugins approprié ... mais cela semble un peu hackisch. :-) – mhoffesommer

Répondre

2

Ouf - s'avère que j'ai trouvé la cause du problème: le np * .dll était dans le dossier racine dans le XPI, pas dans le dossier plugins/comme il est censé être. FF3.6 était plus indulgent il semble, FF4 charge seulement NPAPI DLL si la DLL est en fait dans le dossier plugins ...

Problème résolu :-)

Questions connexes