Home All Groups Group Topic Archive Search About

IIS - Cannot create ActiveX component

Author
8 Aug 2006 9:22 AM
Heinz K
Hello all,

I'm developing a vb.net 2.0 webservice which accesses a lotus notes
database using lotus domino api. This works fine on my local client if I
select "Use Visual Studio Development server" (on project properties).
But as soon as I select "Use IIS Web Server" I always got error messages.
One says: "Retrieving the COM class factory for component with CLSID
{29131539-2EED-1069-BF5D-00DD011186B7} failed due to the following
error: 8007000e." The CLSID is the one from "Lotus Domino Session" in my
registry.
The other error message when I deploy to an external IIS (6.0) Server
is: "Cannot create ActiveX component".

As my webservice works fine when I use the visual studio development
server, I guess my script is correct. Any ideas why it does not work on
IIS? Any registry settings? My local ASPNET-Machine account has full
access to the directory.

Many thanks in advance!!

Author
8 Aug 2006 12:46 PM
Paul Clement
On Tue, 08 Aug 2006 11:22:31 +0200, Heinz K <Heinz-NoSpam@NoSpamPlease.com> wrote:

¤ Hello all,
¤
¤ I'm developing a vb.net 2.0 webservice which accesses a lotus notes
¤ database using lotus domino api. This works fine on my local client if I
¤ select "Use Visual Studio Development server" (on project properties).
¤ But as soon as I select "Use IIS Web Server" I always got error messages.
¤ One says: "Retrieving the COM class factory for component with CLSID
¤ {29131539-2EED-1069-BF5D-00DD011186B7} failed due to the following
¤ error: 8007000e." The CLSID is the one from "Lotus Domino Session" in my
¤ registry.
¤ The other error message when I deploy to an external IIS (6.0) Server
¤ is: "Cannot create ActiveX component".
¤
¤ As my webservice works fine when I use the visual studio development
¤ server, I guess my script is correct. Any ideas why it does not work on
¤ IIS? Any registry settings? My local ASPNET-Machine account has full
¤ access to the directory.

Are all of the COM components you are using in your app registered on the web server? Did you
distribute the COM interop assemblies (if any) that were created during development (should be in
your bin folder)?


Paul
~~~~
Microsoft MVP (Visual Basic)
Author
8 Aug 2006 1:32 PM
Heinz K
Paul Clement schrieb:
> Are all of the COM components you are using in your app registered on the web server? Did you
> distribute the COM interop assemblies (if any) that were created during development (should be in
> your bin folder)?

Hi Paul,

I think so. On my development client I referenced "domobj.tlb" which is
part of the Lotus Notes Program Directory. When I compile it I get a
"Înterop.Domino.dll" in my bin-directory. I then copy everything in
app-folder, including the bin-subdirectory, to the external IIS. On
external IIS, Notes is installed so I guess the COM component is
registered correct. Is there a way to check this?

Thanks!
Author
8 Aug 2006 3:50 PM
Ian R
You need to register the COM libraries on the server. The Notes installer
doesn't correctly do this.
The one you're looking for is nlsxbe.dll in the Notes install folder on the
server.

Show quoteHide quote
"Heinz K" <Heinz-NoSpam@NoSpamPlease.com> wrote in message
news:44d89279$0$20047$9b4e6d93@newsspool4.arcor-online.net...
> Paul Clement schrieb:
>> Are all of the COM components you are using in your app registered on the
>> web server? Did you
>> distribute the COM interop assemblies (if any) that were created during
>> development (should be in
>> your bin folder)?
>
> Hi Paul,
>
> I think so. On my development client I referenced "domobj.tlb" which is
> part of the Lotus Notes Program Directory. When I compile it I get a
> "Înterop.Domino.dll" in my bin-directory. I then copy everything in
> app-folder, including the bin-subdirectory, to the external IIS. On
> external IIS, Notes is installed so I guess the COM component is
> registered correct. Is there a way to check this?
>
> Thanks!
Author
9 Aug 2006 6:22 AM
Heinz K
Hi Ian,

yes, I already did that before (sorry I forgot to mention. I read it on
an internet page but as this was not successfull I wasn't aware that
this might be a needful information). I called "regsvr32 nlsxbe.dll" and
it says "DllRegisterServer in nlsxbe.dll succeeded, nevertheless the
ActiveX Object could still not be created.


Ian R schrieb:
Show quoteHide quote
> You need to register the COM libraries on the server. The Notes installer
> doesn't correctly do this.
> The one you're looking for is nlsxbe.dll in the Notes install folder on the
> server.
Author
9 Aug 2006 1:11 PM
Paul Clement
On Wed, 09 Aug 2006 08:22:57 +0200, Heinz K <Heinz-NoSpam@NoSpamPlease.com> wrote:

¤ Hi Ian,
¤
¤ yes, I already did that before (sorry I forgot to mention. I read it on
¤ an internet page but as this was not successfull I wasn't aware that
¤ this might be a needful information). I called "regsvr32 nlsxbe.dll" and
¤ it says "DllRegisterServer in nlsxbe.dll succeeded, nevertheless the
¤ ActiveX Object could still not be created.

Did you un register the component before re-registering?

regsvr32  -u  nlsxbe.dll


Paul
~~~~
Microsoft MVP (Visual Basic)
Author
10 Aug 2006 7:09 AM
Heinz K
Hi Paul,

no, I did not do this before, but did it now. It says
"DllUnregisterServer in nlsxbe.dll succeeded". Then I registered it
again with "regsvr32 nlsxbe.dll" and it says "DllRegisterServer in
nlsxbe.dll succeeded.". Nevertheless, when I start my Webservice it
still says "Cannot create ActiveX component" :-(

By the way, I also tried what happens if I just unregister and then
start the webservice and it's the same error message "Cannot create
ActiveX component". Does this help? Many thanks for your patience!

Paul Clement schrieb:
Show quoteHide quote
> Did you un register the component before re-registering?
>
> regsvr32  -u  nlsxbe.dll
>
>
> Paul
> ~~~~
> Microsoft MVP (Visual Basic)
Author
10 Aug 2006 2:10 PM
Paul Clement
On Thu, 10 Aug 2006 09:09:41 +0200, Heinz K <Heinz-NoSpam@NoSpamPlease.com> wrote:


¤ no, I did not do this before, but did it now. It says
¤ "DllUnregisterServer in nlsxbe.dll succeeded". Then I registered it
¤ again with "regsvr32 nlsxbe.dll" and it says "DllRegisterServer in
¤ nlsxbe.dll succeeded.". Nevertheless, when I start my Webservice it
¤ still says "Cannot create ActiveX component" :-(
¤

Did you verify that the CLSID LocalServer32 (or InprocServer32) entry in the Registry points to the
correct location of nlsxbe.dll?


Paul
~~~~
Microsoft MVP (Visual Basic)
Author
11 Aug 2006 6:06 AM
Heinz K
Hi Paul,

yes, it's set to the correct filepath.

Paul Clement schrieb:
Show quoteHide quote
> Did you verify that the CLSID LocalServer32 (or InprocServer32) entry in the Registry points to the
> correct location of nlsxbe.dll?
Author
11 Aug 2006 3:00 PM
Paul Clement
On Fri, 11 Aug 2006 08:06:41 +0200, Heinz K <Heinz-NoSpam@NoSpamPlease.com> wrote:

¤ Hi Paul,
¤
¤ yes, it's set to the correct filepath.
¤

Do you know whether this component requires any supporting files? I'm beginning to think that
another component is missing or not registered.

The Dependency Walker utility (http://www.dependencywalker.com/) may help identify supporting files.


Paul
~~~~
Microsoft MVP (Visual Basic)
Author
14 Aug 2006 7:44 AM
Heinz K
Hi Paul,

many thanks for your patience, but this is now far beyond my
knowledge... I'll contact an external developer to come here and check
it. As soon as it's working I'll post it here.

Nevertheless many thanks for your excellent support!

Paul Clement schrieb:
Show quoteHide quote
> Do you know whether this component requires any supporting files? I'm beginning to think that
> another component is missing or not registered.
>
> The Dependency Walker utility (http://www.dependencywalker.com/) may help identify supporting files.
Author
15 Aug 2006 10:40 AM
Anita
I'm having a similar problem, my application can initialize a notes
session and access data OK from within visual studio. When I try to
deploy it to IIS I get the Message "Cannot create ActiveX component"
the first time I try to run the application after IIS is restarted. If
I try again I get the message " Retrieving the COM class factory for
component with CLSID {29131539-2EED-1069-BF5D-00DD011186B7} failed due
to the following error: 8007000e."

The notes client is installed on the IIS server, I have registered
nlsxbe.dll and have copied the dll files from the bin directory on my
development machine to the IIS server.

Have you any ideas what else I could check?

Thanks.
Author
17 Aug 2006 6:04 AM
Heinz K
Hi Anita,

try giving 'Everyone' read-access to the Lotus Notes Directory, this
helped in my case.
Author
17 Aug 2006 6:03 AM
Heinz K
Hi all,

the external guy now got the webservice running. He played around with
several settings, but the thing he said which most probably fixed the
problem: He gave 'everyone' read-access to the Lotus Notes Directory. I
only tried with the ASP.net-Account and this was not successfull.

Nevertheless I have a strange feeling about that. For me it seems that
some changes are not processed by IIS immediately but you have to wait
some minutes until they are set up.....

However, now it's working and I'm glad. Hope this helps.
Author
17 Aug 2006 4:15 PM
Paul Clement
On Thu, 17 Aug 2006 08:03:10 +0200, Heinz K <Heinz-NoSpam@NoSpamPlease.com> wrote:

¤ Hi all,
¤
¤ the external guy now got the webservice running. He played around with
¤ several settings, but the thing he said which most probably fixed the
¤ problem: He gave 'everyone' read-access to the Lotus Notes Directory. I
¤ only tried with the ASP.net-Account and this was not successfull.
¤
¤ Nevertheless I have a strange feeling about that. For me it seems that
¤ some changes are not processed by IIS immediately but you have to wait
¤ some minutes until they are set up.....

It very well could be related to the type of authentication your web app is configured for and
whether you are using impersonation.

Based upon your description I had assumed that impersonation was not enabled. I don't know what sort
of authentication you are using (Anonymous, Basic, Integrated NT, etc.).


Paul
~~~~
Microsoft MVP (Visual Basic)
Author
10 Aug 2006 2:33 AM
Ian R
Does the account the IIS worker process is running under have access to the
Notes folder on the server ?

Show quoteHide quote
"Heinz K" <Heinz-NoSpam@NoSpamPlease.com> wrote in message
news:44d97f46$0$20033$9b4e6d93@newsspool4.arcor-online.net...
> Hi Ian,
>
> yes, I already did that before (sorry I forgot to mention. I read it on an
> internet page but as this was not successfull I wasn't aware that this
> might be a needful information). I called "regsvr32 nlsxbe.dll" and it
> says "DllRegisterServer in nlsxbe.dll succeeded, nevertheless the ActiveX
> Object could still not be created.
>
>
> Ian R schrieb:
>> You need to register the COM libraries on the server. The Notes installer
>> doesn't correctly do this.
>> The one you're looking for is nlsxbe.dll in the Notes install folder on
>> the server.
Author
10 Aug 2006 7:15 AM
Heinz K
Hi Ian,

I added now Full Access for local Aspnet account also for Lotus Program
directory, but still no success :-( Many thanks for your patience!

Ian R schrieb:
Show quoteHide quote
> Does the account the IIS worker process is running under have access to the
> Notes folder on the server ?