We help IT Professionals succeed at work.


Medium Priority
Last Modified: 2013-11-25
Can some help with the below:

1. What is the difference between a DCOM DLL and DCOM EXE written in VB6.

2. Where does the instance of a class within the DCOM DLL and DCOM EXE reside i.e. in which process (can they exist in separate processes).

3. How do I configure a VB DCOM DLL and EXE

Any microsoft links would be greatly appreciated.

Watch Question


I forgot to add,

4. The difference between DCOM and an automation server.

1) DCOM dll as the basic definition would require an exe to run under, which is the dllhost.exe where as the DCOM exe can run within its own call space.
2) In process servers can never run without a parent. However from WinNT 4SP 2, they can, provided a surrogate is available to provide the needed address space. This is the dllhost.exe as a surrogate parent process and security context, which is used to call the DCOM dlls.

3) With DCOM you can distribute client applications without ties to local objects and the ability to implement in-process objects in DLLs or local or remote objects in executables (EXEs) or as Win32 services. The DCOM exe can be remotely executable piece of code as a service, within the rules of network security. These DCOM exes are often called as object servers, and can be setup for specific user accounts, generally only one admin user by default.

Im sure you would find alot of valuable information on the net, however here is to start with



also I would like to stress that there is no such thing as DCOM dll and exe's.  They are ALL COM Objects.  DCOM is just a structure that allows you to run a Activex EXE on a remote server.  for COM dll's to run remotely you need something like MTS.  to expand on the above comment also
dll's are inprocess like it says above.  this means that the thread that calls the dll is the thread it runs on.  Activex exe's run on their own thread.  If you set the Active x exe to thread per object, each instance of the object will be in it's own space on it's own thread.  If you use a thread pool each object will run on a different thread until the threads are used up, and then will use a thread that is already taken.
For dlls single threaded means that all instances of the dll run in the same memory address space and use the save variables.  For apartment threaded each instance will get their own set of variables.

the difference between dcom and an automation server is unrelated.  An automation server is an object model that exposes functions, subs, and properties for use by a developer to do stuff that the object model provides.  An example is MS office.  Excell, word, access, etc provide an interface to use in vb to do "stuff".  you can create word docs, etc.  DCOM is what was described above, an interface to run activex componenets on a remote server.  

Hi abhijitmathure, and welcome to EE!

abhijitmathure, the etiquette here is to use comments only.  The reason for that is to keep the question
open for debate instead of locking it with a single thought.  The questioner can still select your comment
as an answer if it is the best one, so there is no prejudice against your comments.


Surely a DCOM object created on another machine cannot be running in the same address space even if it's a DCOM DLL?

Also, does a COM object in a DCOM DLL running on the same machine run in the same address space as the application that create the object or in the address space of the DllHost.

Do all the above comment relate to windows 95 and above, and NT 4 and above?


>Also, does a COM object in a DCOM DLL running on the same machine run in the same address space as the
application that create the object or in the address space of the DllHost.

If you are using mts or com+ to have remote dll's I believe that they run in the mts or other cpu's com+ space. I'm not 100% sure though. and yes all MS OSs should work the same.  I have heard that win95 had some problems running dcom though. I don't know what, we don't support 95 here.
If this proposed answer has helped you, please accept it, grade it and close this question.  If it did not, reject it and add comments as to your progress and what else is needed.  If no action is taken here by next week, we'll need to decide this outcome.  Expert input always welcome as well.

Community Support Moderator @ Experts Exchange

ADMINISTRATION WILL BE CONTACTING YOU SHORTLY.  Moderators Computer101 or Netminder will return to finalize these if still open in seven days.  Please post closing recommendations before that time.

Question(s) below appears to have been abandoned. Your options are:
1. Accept a Comment As Answer (use the button next to the Expert's name).
2. Close the question if the information was not useful to you, but may help others. You must tell the participants why you wish to do this, and allow for Expert response.  This choice will include a refund to you, and will move this question to our PAQ (Previously Asked Question) database.  If you found information outside this question thread, please add it.
3. Ask Community Support to help split points between participating experts, or just comment here with details and we'll respond with the process.
4. Delete the question (if it has no potential value for others).
   --> Post comments for expert of your intention to delete and why
   --> You cannot delete a question with comments, special handling by a Moderator is required.

For special handling needs, please post a zero point question in the link below and include the URL (question QID/link) that it regards with details.
Please click the Help Desk link on the left for Member Guidelines, Member Agreement and the Question/Answer process for further information, if needed.  http://www.experts-exchange.com/jsp/cmtyHelpDesk.jsp

Click you Member Profile to view your question history and keep them all current with updates as the collaboration effort continues, to track all your open and locked questions at this site.  If you are an EE Pro user, use the Power Search option to find them.  Anytime you have questions which are LOCKED with a Proposed Answer but does not serve your needs, please reject it and add comments as to why.  In addition, when you do grade the question, if the grade is less than an A, please add a comment as to why.  This helps all involved, as well as future persons who may access this item in the future to seek help.

To view your open questions, please click the following link(s) and keep them all current with updates.

To view your locked questions, please click the following link(s) and evaluate the proposed answer.

------------>  EXPERTS:  Please leave any comments regarding your closing recommendations if this item remains inactive another seven (7) days.  Also, if you are interested in the cleanup effort, please click this link http://www.experts-exchange.com/jsp/qManageQuestion.jsp?ta=commspt&qid=20274643

Moderators will finalize this question if still open in 7 days, by either moving this to the PAQ (Previously Asked Questions) at zero points, deleting it or awarding expert(s) when recommendations are made, or an independent determination can be made.  Expert input is always appreciated to determine the fair outcome.
Thank you everyone.
Moderator @ Experts Exchange

P.S.  For any year 2000 questions, special attention is needed to ensure the first correct response is awarded, since they are not in the comment date order, but rather in Member ID order.

If BSewills doesn't respond, I would split the 300 points between myself and abh.  I feel we both gave good info.


Points for abhijitmathure -> http://www.experts-exchange.com/jsp/qManageQuestion.jsp?qid=20282144

Please comment there to complete this point split award.

Moondancer - EE Moderator


Please spit the points between jrspano and abhijitmathure.

Explore More ContentExplore courses, solutions, and other research materials related to this topic.