0

I created an NPAPI plugin that I'm packaging within a Chrome extension. I'm able to successfully install and use the extension in Chrome on Windows 2003 and Windows XP 64-bit.

However, when I install the plugin on Windows 7 (either 32-bit or 64-bit) or Windows XP 32-bit, I'm unable to use the extension within Chrome. The chrome logs reveal the error message "Couldn't initialize plug-in".

I ran the dependency walker in all of my environments and it looks like in the environments where the extension doesn't work, they all have in common the warning message "Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module." (the DLL's in question are SHLWAPI.DLL, IEFRAME.DLL, and MPR.DLL) whereas the environments where the extension does work don't have this warning (although one of them does warn of a delay-load dependency module not being found).

Should these DLL dependencies be different across different versions of Windows? What's the best way to resolve them? Or is the plugin failure most likely not related to these DLL dependencies?

2 Answers2

2

Rebuild your project without dependencies on the runtime libraries by compiling your binaries with the "/MT" compiler flag instead of the default "/MD".

If you depend on open source code, make sure to rebuild each of those projects with the "/MT" flag, otherwise you will be chasing these runtime DLL issues forever.

Martijn Pieters
  • 1,048,767
  • 296
  • 4,058
  • 3,343
chrisw
  • 21
  • 2
0

shlwapi and ieframe are probably unrelated to your issue; seeing those errors is a common issue. not sure about mpr.dll, haven't seen that one.

You might try a FireBreath plugin and compare the dependency walker results and see if you can spot anything you're requiring that firebreath doesn't, since firebreath has no external DLL dependencies.

taxilian
  • 14,229
  • 4
  • 34
  • 73