I've written an NPAPI plugin which, if I place it in %ProgramFiles\Mozilla FireFox\plugins, instantiates and runs correctly. However, because I'd like it to work with other browsers as well, my preference would be to register it in HKLM\Software\MozillaPlugins\, as described here. So in my installer, I create these registry entries:
[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@alanta.com/WinVncCtl]
"ProductName"="WinVnc NPAPI Control"
"Path"="C:\Program Files\Alanta\WinVncCtl.dll"
[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@alanta.com/WinVncCtl\MimeTypes]
[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@alanta.com/WinVncCtl\MimeTypes\application/x-alanta-vnc]
"Description"="Alanta's VNC Server NPAPI Plugin"
And, of course, my installer is placing the WinVncCtl.dll file in the correct place. (I've also tried renaming it to npWinVnc.dll, under the theory that maybe it needs to start with "np", with no dice. I've also tried various combinations of version tags, MIME types, etc.)
I'm instantiating it like so:
vncDiv.innerHTML = "<object id='vncServerControl' classid='@alanta.com/WinVncCtl' type='application/x-alanta-vnc' />";
But it doesn't seem to instantiate that way. However, as mentioned above, if I leave out the classid in the object tag, and simply place the file npWinVnc.dll in my plugins directory, life is good.
Any thoughts about what might be going wrong with my approach?