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