I have implemented a protocol handler extension in C++ using Gecko SDK. When the dll is copied to C:\Program Files (x86)\Mozilla Firefox\components every thing works perfectly. But when the the same dll is used to create .xpi installation file, the extension gets installed; but the custom protocol did not work.
I have the following structure in the xpi file
chrome.manifest
components
components/abc.dll
install.rdf
I do not have the IDL file. Is IDL file required in xpi?
Fixed!
Was missing
<em:unpack>true</em:unpack>
in install.rdfShould have included install.rdf in the question :)