Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

"Class not registered" when using DCOM to connect to an automation dll

8 views
Skip to first unread message

eran

unread,
Nov 18, 2009, 11:20:19 AM11/18/09
to
We have an app that uses a third party COM dll, which has an
automation interface (SourceSafe's ssapi.dll, FWIW). This works fine
when both our app and the COM dll are installed on the same box. I'd
like our app to connect to a dll installed on a remote computer. I was
hoping that since the interface is standard (automation), going DCOM
would be easy. However, I keep getting "Class not registered" errors.
So far, I've:

- Removed the InProcServer entry from the CLSID and added an
RemoteServerName entry on the AppId node
- Watched the server with RegMon to see if the COM entries are being
accessed. They are, by svchost.
- Eliminated communication issues by using two identical computers
with the same user. I even tried calling into the same computer
(localhost), to no avail.
- Eliminated coding errors by using OleView 's "Create Instance On…"
option to try to create an instance of the class on a remote computer.
And still, "Class not registered".

I'm quite certain the error is misleading, as I've made sure the class
is indeed registered on the server, and RegMon shows no significant
errors. However, I might have gotten it all wrong: can I connect to an
automation dll using DCOM at all, by only changing some registry
settings?

Brian Muth

unread,
Nov 23, 2009, 2:50:02 PM11/23/09
to
My approach would be to try to get the DLL working inside a COM+
application. If so, you can install it in Component Services on the remote
server, and then export it as an Application Proxy. This creates an MSI
which you can install on the local machine, and call it just as if the COM
dll was local.


"eran" <kal...@gmail.com> wrote in message
news:82c3eb73-8a38-485a...@g23g2000yqh.googlegroups.com...


> We have an app that uses a third party COM dll, which has an
> automation interface (SourceSafe's ssapi.dll, FWIW). This works fine
> when both our app and the COM dll are installed on the same box. I'd
> like our app to connect to a dll installed on a remote computer. I was
> hoping that since the interface is standard (automation), going DCOM
> would be easy. However, I keep getting "Class not registered" errors.
> So far, I've:
>
> - Removed the InProcServer entry from the CLSID and added an
> RemoteServerName entry on the AppId node
> - Watched the server with RegMon to see if the COM entries are being
> accessed. They are, by svchost.
> - Eliminated communication issues by using two identical computers
> with the same user. I even tried calling into the same computer
> (localhost), to no avail.

> - Eliminated coding errors by using OleView 's "Create Instance On�"

0 new messages