Solved

COM+

Posted on 2001-07-12
10
397 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
Creating Instructional Tutorials  

For Any Use & On Any Platform

Contextual Guidance at the moment of need helps your employees/users adopt software o& achieve even the most complex tasks instantly. Boost knowledge retention, software adoption & employee engagement with easy solution.

 
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
 
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

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

The debugging module of the VB 6 IDE can be accessed by way of the Debug menu item. That menu item can normally be found in the IDE's main menu line as shown in this picture.   There is also a companion Debug Toolbar that looks like the followin…
Most everyone who has done any programming in VB6 knows that you can do something in code like Debug.Print MyVar and that when the program runs from the IDE, the value of MyVar will be displayed in the Immediate Window. Less well known is Debug.Asse…
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 process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…

756 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