Groups > Borland > Borland C plus plus builder Active X > Re: C++ Builder 2007 - Update 3; Problem registering COM dll having




Re: C++ Builder 2007 - Update 3; Problem registering COM dll
having a TRemoteDataModule in it

Re: C++ Builder 2007 - Update 3; Problem registering COM dll having a TRemoteDataModule in it
Tue, 08 Jan 2008 17:12:05 +000
Adrian Mercieca <amercieca@gmail.com> wrote:

>Then I installed update 3 - and I started getting the following when 
>adding my Active Library as a COM+ component:
>
>The component DLL's self-registration routine failed.  The 
>DllRegisterServer function failed or the routine did not register the 
>component.

[snip]

>Any clues would be appreciated.

It's possible your library depends on something - probably one of the
runtime DLLs - provided by BCB which got updated by the update, and that
your code is incompatible with the DLL.

If you have a debug version of your control, try debugging into it using
regsvr32.exe as the host application.

Alan Bellingham
-- 
Team Browns
Post Reply
C++ Builder 2007 - Update 3; Problem registering COM dll having a
Tue, 08 Jan 2008 18:05:49 +010
Hi everyone,

I'm tearing my hair out here!!!

I've recently installed C++ Builder 2007 - and had no problems creating 
ActiveX libraries with Remote data modules in them and packaging them up 
as components within a COM+ application.

Then I installed update 3 - and I started getting the following when 
adding my Active Library as a COM+ component:


The component DLL's self-registration routine failed.  The 
DllRegisterServer function failed or the routine did not register the 
component.


I then tried applying the December 2007 update - to no avail.

If I uninstall the whole product and reinstall from the original DVD 
(hence no update 3 applied) all works fine.

Has anyone come across this? It's just driving me nuts.

Any clues would be appreciated.

Post Reply
Re: C++ Builder 2007 - Update 3; Problem registering COM dll having
Tue, 08 Jan 2008 18:27:50 +010
Hi Alan,

Thanks for your prompt answer.

I specifically built my DLL with no runtime library and no packages - 
it's all statically linked.  Checked both with depends.exe and tdump.exe 
and there are no dependencies except for the usual system ones 
(oleaut32, user32, etc).

I also tried debugging it with regsvr32 as you said and from within the 
IDE all is fine. I got the following message:

---------------------------
RegSvr32
---------------------------
DllRegisterServer in C:\Documents and Settings\amercieca\My 
Documents\RAD Studio\Projects\DM_Desp\Debug\DM_DespSvc.dll succeeded.
---------------------------
OK
---------------------------

I also ran regsvr32.exe from the command prompt and that reported 
success too. I also used CodeGear's tregsvr.exe to register the dll 
server and that also reported success.

Yet, when I try to add the dll as a component to a COM+ application 
(something which worked perfectly fine before applying update 3) it 
fails each time with:

---------------------------
Explanation
---------------------------
The component DLL's self-registration routine failed.  The 
DllRegisterServer function failed or the routine did not register the 
component.
---------------------------
OK
---------------------------


I'm lost to be honest...
- Adrian.


Alan Bellingham wrote:
> Adrian Mercieca <amercieca@gmail.com> wrote:
> 
>> Then I installed update 3 - and I started getting the following when 
>> adding my Active Library as a COM+ component:
>>
>> The component DLL's self-registration routine failed.  The 
>> DllRegisterServer function failed or the routine did not register the 
>> component.
> 
> [snip]
> 
>> Any clues would be appreciated.
> 
> It's possible your library depends on something - probably one of the
> runtime DLLs - provided by BCB which got updated by the update, and that
> your code is incompatible with the DLL.
> 
> If you have a debug version of your control, try debugging into it using
> regsvr32.exe as the host application.
> 
Post Reply
Re: C++ Builder 2007 - Update 3; Problem registering COM dll having a TRemoteDataModule in it
Tue, 08 Jan 2008 18:28:00 +000
Adrian Mercieca <amercieca@gmail.com> wrote:

>I specifically built my DLL with no runtime library and no packages - 
>it's all statically linked.  Checked both with depends.exe and tdump.exe 
>and there are no dependencies except for the usual system ones 
>(oleaut32, user32, etc).

Hmmm.

OK, I was about to suggest checking dynamic dependencies (those caused
by instantiating some other COM server), but I can't think that you'd be
creating one of those during your registration. Not unless you have a
static instance ...

And anyway, you can register with the server registerers.

Not having that version, I'm out of advice. Sorry.

Alan Bellingham
-- 
Team Browns
Post Reply
Re: C++ Builder 2007 - Update 3; Problem registering COM dll having
Tue, 08 Jan 2008 18:33:34 +010
Hi,

I'm also sure that it's got to do with the DLL containing a remote data 
module. I've just created another Active Library Dll, with a custom 
Interface and CoClass in it with no remote datamodule in sight and it 
all works fine.

Could this be a bug in update 3?

Tks - Adrian.

Alan Bellingham wrote:
> Adrian Mercieca <amercieca@gmail.com> wrote:
> 
>> Then I installed update 3 - and I started getting the following when 
>> adding my Active Library as a COM+ component:
>>
>> The component DLL's self-registration routine failed.  The 
>> DllRegisterServer function failed or the routine did not register the 
>> component.
> 
> [snip]
> 
>> Any clues would be appreciated.
> 
> It's possible your library depends on something - probably one of the
> runtime DLLs - provided by BCB which got updated by the update, and that
> your code is incompatible with the DLL.
> 
> If you have a debug version of your control, try debugging into it using
> regsvr32.exe as the host application.
> 
Post Reply
<< Previous 1 2 Next >>
( Page 1 of 2 )
about | contact