Solved

COM+

Posted on 2001-07-12
10
389 Views
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.
0
Comment
Question by:pcavacas
  • 2
  • 2
  • 2
  • +4
10 Comments
 
LVL 3

Expert Comment

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

Expert Comment

by:madsun
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.
0
 
LVL 2

Author Comment

by:pcavacas
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.
0
 
LVL 4

Expert Comment

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

Vin.
0
 
LVL 8

Expert Comment

by:Dave_Greene
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.

Cheers
0
Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

 
LVL 3

Expert Comment

by:nigelrowe
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.
0
 
LVL 8

Expert Comment

by:Dave_Greene
ID: 6296210
News on this one?  Did it work?  I guess it did...
0
 
LVL 2

Author Comment

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

Expert Comment

by:DanRollins
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
0
 
LVL 1

Accepted Solution

by:
Computer101 earned 0 total points
ID: 7182191
Placed in PAQ

Computer101
E-E Moderator
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Background What I'm presenting in this article is the result of 2 conditions in my work area: We have a SQL Server production environment but no development or test environment; andWe have an MS Access front end using tables in SQL Server but we a…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

747 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

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now