tags:

views:

547

answers:

2

I wrote an XPCOM component and an extension that uses it. XPCOM loads arbitrary DLL for its purposes.

How can I include XPCOM and DLL into XPI package?

A: 

XPI is basically a zip file, which includes the DLL, among other things See https://developer.mozilla.org/En/Creating_XPI_Installer_Modules

Yarik
yes, but i can't find the way to load DLL from XPCOM.now i am struggling to get a path to extension directory to use in LoadLibrary call.
mojo
What is your environment? Win/UNix/Mac, Firefox/Thunderbird?THe paths to extension directories depend on that.
Yarik
I figure with IExtensionManager and IInstallLocation, you can neglect environment differences.
mojo
+1  A: 

I was able to find absolute path to my DLL via IExtensionManager and IInstallLocation, then load it via LoadLibrary().

  1. put DLL near XPCOM in my.xpi/components/
  2. figure out the path to extension via IExtensionManager and IInstallLocation
  3. LoadLibrary()
  4. profit
mojo