views:

37

answers:

3

Guys,

I am interacting with a custom COM component in my c# project.

I am wrapping it with IDisposable.

The problem I am facing is that I do not see the dll for CSCCOM in Process Explorer once the program runs.

I would really appreciate your help on this one :)

-- Ruby

A: 

Have you checked only your own process or have you searched for the COM-DLL? ProcessExplorer allows you to search for files etc.

It could be, that the DLL is not directly loaded into your process, but into a seperate wrapper process or even a windows service.

WizzardsApprentice
+1  A: 

If the COM server DLL couldn't get loaded then you'd get a loud kaboom from this code. The CSCCOMWRAP constructor would throw an exception. Maybe you haven't guessed the server DLL name correctly, it is not that easy to find. You'd have to look in the registry for the InProcServer32 registry key value to know the DLL name.

Note that your IDisposable implementation accomplishes nothing.

Hans Passant
1. Seems like DLL is being loaded since my combobox is listing values from the COM's GetCodes() method.2. Reference to the COM component does exists in the Registry3. Could you please help me so that my IDisposable implementation accomplishes what it should be!
Ruby
There's nothing to dispose, just remove it.
Hans Passant
A: 

OK. Just found out that there is nothing wrong with the code. But the reason I was not able to see the COM dll was that "Show Lower Pane" was not turned on in the ProcessExplorer.

Steps to see all related dlls for a running process in ProcessExplorer:

  1. Make sure View > Show Lower Pane is checked in ProcessExplorer.
  2. Make sure View > Lower Pane View > DLLs is checked.
  3. Select the process from the upper pane to view all related DLLs in the lower pane.

Hope this helps someone who is new to ProcessExplorer like me!

Ruby