Search code examples
firefoxxpcom

Native dll module is incompatible with this version of Firefox


I've created an XPCOM DLL in CPP using Gecko/XULRunner v12 (which works on v12), but when I run it with v13, or v14 of firefox I get the following error:

-Native module at path '...\PowerFoxDll.dll' is incompatible with this version of Firefox, has version 12, expected 14

is it possible that the XPCOM DLL XULRunner SDK is not backward compatible???

Is there a way to solve it? I'm looking for a solution that will not require re-compiling the code for each new version.


Solution

  • Unfortunately, you are right. There is no backward (and forward too) compatibility between native XPCOM plugin and browser. You have to compile code for each new version of Firefox with accordingly version of XULRunner SDK. Thus, if you want to have an up to date solution you have to update you source code every six week. There is only one way to make stable working solution - using JavaScript. Google 'js-ctypes' - this is solution allows to use code from native dll into Firefox JavaScript extensions directly.