Posted on 2001-07-12
Last Modified: 2013-11-25
 I am having a problem with COM+ Services.  I have this DLL that has a COM+ Package and everything works great.  I can go into one of the existing methods of the DLL and make as many changes as I need to and recompile the DLL and copy it over to the server and these change work without problems (Binary Compatibility is on on of course).
  The problem occurs when I need to add a new method to the DLL I add the new method to the DLL and test it on my machine everything works great.  Then I move it over to the server.  Since there is a new method I try and drag the DLL back onto the Components Folder of the package.  When I do this I get the following error.

DLLRegisterServer failed on Component install.

  After this point everything gets screwed up.  I have even made a backup copy of the DLL before copy over the one of the server and if I get this error and then try and use this backup copy I still get the error.  And now none of the other parts to the DLL is working.
  The only way to get things to work again is for me to recompile the DLL with No Compatibility and then delete the package and create a new one using this new DLL.
Question by:pcavacas
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
  • 2
  • +4

Expert Comment

ID: 6277329
Have you tried using regsvr32 /u beforehand?

Expert Comment

ID: 6277353
After adding new methods, you need to compile the dll again as binary compatibility and then copy the dll into the package folder in the server.

Author Comment

ID: 6277405
nigel:  No I don't unregister it first.  Do I need to?  I didn't think that you had to.  I didn't think that COM+ used the same type of registering as you got when you used regsvr.

madsin:  I am recompiling the DLL with Binary compatibility and then coping to the server.
SharePoint Admin?

Enable Your Employees To Focus On The Core With Intuitive Onscreen Guidance That is With You At The Moment of Need.


Expert Comment

ID: 6277437
It's usually a good idea to unregister the dll before copying a new one over.


Expert Comment

ID: 6277472
Copy the new version to the server in a sub directory called \NEW.  STOP the current Service, Move the old version to a sub directory called \OLD.  Move the DLL in the \NEW folder to your working directory and restart the service.

Never directly whip out a service that works, unless you have a backup.


Expert Comment

ID: 6277559
I'm working with COM under NT4 still. I don't generally use regsvr32 before I recompile. On the other hand all of the commponents are 'No compatibilty'. So, if I add a new class, I just have to redeclare the dll in MMC. It throws an error message as the other classes are already registered, but this has no effect.

There are times however, when the only solution is to...
Remove the components from MTS, resvr32 /u it, delete the dll from the hard disk, recompile the project and add it back to MTS. I assume that this is because MTS or some other thing has completely lost its marbles somewhere along the line.

Expert Comment

ID: 6296210
News on this one?  Did it work?  I guess it did...

Author Comment

ID: 6309528
Dave sorry I was out the past couple of days.  I just tried that and I still got an error.
LVL 49

Expert Comment

ID: 7153066
Hi pcavacas,
It appears that you have forgotten this question. I will ask Community Support to close it unless you finalize it within 7 days. I will ask a Community Support Moderator to:

    Refund points and save as a 0-pt PAQ.

pcavacas, Please DO NOT accept this comment as an answer.
EXPERTS: Post a comment if you are certain that an expert deserves credit.  Explain why.
DanRollins -- EE database cleanup volunteer

Accepted Solution

Computer101 earned 0 total points
ID: 7182191
Placed in PAQ

E-E Moderator

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
RUNRMTCMD from AS/400 13 126
Need a simple RegEx to search for two words 27 123
adding "ungroup sheets" to existing vbs code 5 74
VB script to continue despite error 2 77
Introduction In a recent article ( for the Excel community, I showed an improved version of the Excel Concatenate() function.  While writing that article I realized that no o…
When designing a form there are several BorderStyles to choose from, all of which can be classified as either 'Fixed' or 'Sizable' and I'd guess that 'Fixed Single' or one of the other fixed types is the most popular choice. I assume it's the most p…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

739 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question