Friday, December 21, 2007

DLL Registration failure in VC++

Filter or DLL or .ocx registration Error :
-------------------------------------------


Eventhough the DLL compiles and links well  while registering the filter or DLL or.ocx using regsvr32 utility, I got this Error.

---------------------------
RegSvr32
---------------------------
.\Debug\HTTPWriterSinkFilterd.ax was loaded, but the DllRegisterServer entry point was not found.

.\Debug\HTTPWriterSinkFilterd.ax does not appear to be a .DLL or .OCX file.
---------------------------
OK  
---------------------------

Solution Steps :
---------------

 
 1.I Opened that DLL file in "Depends viewer" available in a visual studio tools
 2. no function is exported from the DLL or filter file.
 3.For Exporting the Functions, I used the .def file (module definition file).
 4. Next I have opened the DLL,ax files in "Depends viewer" that are successfully registered 
 There the Dependency viewer displays the exported functions.
 5. So the problem is in Exporting the functions
 6. Next I opened the Project->Settings-> Linker->input ...

 and I checked anywhere my .def file is specified there is nothing like that.

 So I added the the following options

  Project -> Settings-> Linker -> Input -> /DEF:My.def


Now I compiled the application and register it with regsvr32 utitily.
Now the registeration is done successfully .

if I opened that registered DLL in "Depends viewer", It displays the exported functions.

 

PostScript :
------------ 

 In Some DLLs,even though they created the application as DLL,
without including this  "/DEF:my.def", that dll also registers well.

 

 

0 comments: