Link to home
Start Free TrialLog in
Avatar of Slimshaneey
SlimshaneeyFlag for United Kingdom of Great Britain and Northern Ireland

asked on

"DLLRegisterServer failed on component install" ..?????

I keep getting this error when trying to install a dll. I deleted the old one from Com+ and from the system32/inetsrv, and am now trying to install a new recompiled version, which is compiled using Binary Compatibility, but I get the above error, with its details shown here:

The Component DLL's Self-registration routine failed. The DLLRegisterServer function failed or the routine did not register the component"

Can ANYONE please help me fix this!!
Avatar of rdrunner
rdrunner

If you created it with binary compatible mode then you just need to overwrite the old one and you are done ...

No clue whats wrong otherwise
Do you use interfaces in your .dll or just public classes?  If you use an interface and the interface .dll is not available then you may have a problem.
I posted this in the other thread.  Is this relevant to your problem?

PRB: Install of Components in COM+ Fails If User Is Not an Administrator
http://support.microsoft.com:80/support/kb/articles/q230/3/88.asp
Avatar of Slimshaneey

ASKER

Just public classes....
And I am an administrator...
Are you able to register your component with RegSvr32?
No, Get this error:
DllRegisterServer in <i>Filename</i> failed.
Return code was 0x80004005
Probably some kind of conflict with a previous version that wasn't binary compat.  The ways to work around that:

*rename or delete any copies of the DLL on your system.  Then run RegClean ( http://download.com.com/3000-2094-881470.html )  This has worked for me in the past, but there have been sometimes when I've had to make changes manually...

*Manually go through the registry removing old instances of the GUID for your component (*Don't* try this if you don't know what you are doing!  If you do try it, back up everything first!  You can export every change to a .reg file first.)

*Rename your project to prevent collisions with that class name.  You will need to rename, uncheck compatibility, recompile, and reset compatibility to new version.  Your ASP code will have to reference the new name in Server.CreateObject calls.  You should be able to add the newly named component to a new COM+ application.

ASKER CERTIFIED SOLUTION
Avatar of PaulHews
PaulHews
Flag of Canada image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
I cant do the last one. Ive got 11 other Dlls all calling the one Im working on, plus about 25 websites that use the DLL extensively, all on one machine, it would take me months to fix it.
Was binary compatibility always set on this one then?
Yep. I made sure of that.  This is doin my nut. Ive actually asked IT for another machine, Im going to copy all my files over and start from scratch on the dev machine. Thats how much this is annoying me!