Welcome to MobyThreads.com!
FAQFAQ      ProfileProfile    Private MessagesPrivate Messages   Log inLog in
All support for the MobyThreads Threaded phpBB MOD can now be found on welsolutions at this forum

Accessing 32 bit COM components in 64 bit IIS

 
   Web Hosting and Web Master Forums (Home) -> IIS RSS
Next:  factors affecting on Webservers performance  
Author Message
david_hood

External


Since: Apr 23, 2004
Posts: 4



(Msg. 1) Posted: Fri Apr 23, 2004 7:12 am
Post subject: Accessing 32 bit COM components in 64 bit IIS
Archived from groups: microsoft>public>inetserver>iis (more info?)

I currently have an interesting problem involving a 32 bit Microsoft
ISAPI extension (XML for Analysis) on an Itanium 2 machine running 64
bit IIS and Windows Server 2003.

Because the ISAPI extension is 32 bit it will not run in the same way
as it would in 32 bit IIS, however, according to this post...

http://groups.google.com/groups?q=%22david+wang%22+64bit&hl=en&lr=&ie=...-8&oe=U

....by David Wang of Microsoft it should be possible to create an ASP
page which wraps up the 32 bit XML for Analysis COM object and let COM
deal with the 64-32bit jump using dllhost.exe.

I've created an ASP page which references the COM object forwards all
requests to it and proved that it works properly on 32 bit IIS.
However, when it is run on the 64 bit machine I get an error "Can not
create ActiveX component, Error Code #800a01ad". Which apparently mean
the component is not accessible.

Also, the COM object instantiates okay on the 64 bit machine in a
separate 32 bit VB program so it is installed in the registry
correctly.

Any help or ideas would be much appreciated.

Many thanks,

David

 >> Stay informed about: Accessing 32 bit COM components in 64 bit IIS 
Back to top
Login to vote
someone9

External


Since: Aug 25, 2003
Posts: 2419



(Msg. 2) Posted: Fri Apr 23, 2004 5:38 pm
Post subject: Re: Accessing 32 bit COM components in 64 bit IIS [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

Welcome to WOW64. You have to be aware of all the rules, or else behavior
will look very strange. All of this has NOTHING to do with IIS -- it
applies generically to all processes on Windows. IIS is just another
process.

COM component registration exists in two locations, one for 64bit processes
and one for 32bit processes. Where a registration goes depends on the
bitness of the process that does the registration. If the registration is
done by a 32bit process, like some existing x86 setup.exe, then it is only
going to exist in the 32bit location. If the registration is done by a
64bit process, it will exist in the 64bit location and be mirrored to the
32bit location.

Thus, it is possible to register a COM component on a 64bit OS and have it
only available to 32bit process (like VB) but not 64bit process (like
ASP.DLL interpreting ASP pages).

Therefore, I have to ask how you registered this COM component -- because if
you just ran the x86 setup program, it's likely to only exist for 32bit
processes like VB -- ASP runs as a 64bit process, so it's not going to see
that component unless you register it in 64bit as well -- and this explains
your observation.

--
//David
IIS
This posting is provided "AS IS" with no warranties, and confers no rights.
//
"David Hood" <david_hood.TakeThisOut@hotmail.com> wrote in message
news:60eec15e.0404230312.c43598c@posting.google.com...
I currently have an interesting problem involving a 32 bit Microsoft
ISAPI extension (XML for Analysis) on an Itanium 2 machine running 64
bit IIS and Windows Server 2003.

Because the ISAPI extension is 32 bit it will not run in the same way
as it would in 32 bit IIS, however, according to this post...

http://groups.google.com/groups?q=%22david+wang%22+64bit&hl=en&lr=&ie=...-8&oe=U

....by David Wang of Microsoft it should be possible to create an ASP
page which wraps up the 32 bit XML for Analysis COM object and let COM
deal with the 64-32bit jump using dllhost.exe.

I've created an ASP page which references the COM object forwards all
requests to it and proved that it works properly on 32 bit IIS.
However, when it is run on the 64 bit machine I get an error "Can not
create ActiveX component, Error Code #800a01ad". Which apparently mean
the component is not accessible.

Also, the COM object instantiates okay on the 64 bit machine in a
separate 32 bit VB program so it is installed in the registry
correctly.

Any help or ideas would be much appreciated.

Many thanks,

David

 >> Stay informed about: Accessing 32 bit COM components in 64 bit IIS 
Back to top
Login to vote
david_hood

External


Since: Apr 23, 2004
Posts: 4



(Msg. 3) Posted: Mon Apr 26, 2004 2:04 pm
Post subject: Re: Accessing 32 bit COM components in 64 bit IIS [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

Thanks for your reply David. I appreciate that the problem isn't so
much to do with IIS but your replies in this forum were the only place
I seemed to be able to find any information on the subject.

From the 64 bit Windows documentation I gather the following...

C:\Windows\SysWow64 contains a 32 bit version of regsvr32.exe
C:\Windows\System32 contains a 64 bit version of regsvr32.exe

Just to be sure the component was registered using both the 32 bit
regsrv32.exe program and the 64 bit regsvr32.exe program.

Before the 64 bit registration the error reported was
ASP 0177: COM Error 0x800401f3: This error code means ‘Not
registered'

After the 64 bit registration the error reported was
COM Error 0x800a01ad: This error code means ‘Not all components are
accessible'

Once the 32bit COM component is loaded into DLLHOST.EXE it is then a
32 bit application which may need to load other 32 bit components.
However this should not be a problem as the 32 bit VB application that
does the same thing as the ASP page works fine. The ASP page error
occurs at the point when it tries to load the first 32 bit component.
Is there some sort of ASP setting which enables out of process 32 bit
components perhaps?

David



"David Wang [Msft]" <someone.TakeThisOut@online.microsoft.com> wrote in message news:<#4Az2tXKEHA.3184@TK2MSFTNGP10.phx.gbl>...
 > Welcome to WOW64. You have to be aware of all the rules, or else behavior
 > will look very strange. All of this has NOTHING to do with IIS -- it
 > applies generically to all processes on Windows. IIS is just another
 > process.
 >
 > COM component registration exists in two locations, one for 64bit processes
 > and one for 32bit processes. Where a registration goes depends on the
 > bitness of the process that does the registration. If the registration is
 > done by a 32bit process, like some existing x86 setup.exe, then it is only
 > going to exist in the 32bit location. If the registration is done by a
 > 64bit process, it will exist in the 64bit location and be mirrored to the
 > 32bit location.
 >
 > Thus, it is possible to register a COM component on a 64bit OS and have it
 > only available to 32bit process (like VB) but not 64bit process (like
 > ASP.DLL interpreting ASP pages).
 >
 > Therefore, I have to ask how you registered this COM component -- because if
 > you just ran the x86 setup program, it's likely to only exist for 32bit
 > processes like VB -- ASP runs as a 64bit process, so it's not going to see
 > that component unless you register it in 64bit as well -- and this explains
 > your observation.
 >
 > --
 > //David
 > IIS<!-- ~MESSAGE_AFTER~ -->
 >> Stay informed about: Accessing 32 bit COM components in 64 bit IIS 
Back to top
Login to vote
david_hood

External


Since: Apr 23, 2004
Posts: 4



(Msg. 4) Posted: Wed Apr 28, 2004 6:54 am
Post subject: Re: Accessing 32 bit COM components in 64 bit IIS [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

I thought I would update this thread with the tiniest extra piece of
info that we've recently uncovered.

Running a dependency walker on the XMLA SDK dll says that there are no
other dependencies though I guess there could still be other COM
dependencies.

Any suggestions would be greatly appreciated.

David

david_hood.TakeThisOut@hotmail.com (David Hood) wrote in message news:<60eec15e.0404261004.613936ea.TakeThisOut@posting.google.com>...
 > Thanks for your reply David. I appreciate that the problem isn't so
 > much to do with IIS but your replies in this forum were the only place
 > I seemed to be able to find any information on the subject.
 >
 > From the 64 bit Windows documentation I gather the following...
 >
 > C:\Windows\SysWow64 contains a 32 bit version of regsvr32.exe
 > C:\Windows\System32 contains a 64 bit version of regsvr32.exe
 >
 > Just to be sure the component was registered using both the 32 bit
 > regsrv32.exe program and the 64 bit regsvr32.exe program.
 >
 > Before the 64 bit registration the error reported was
 > ASP 0177: COM Error 0x800401f3: This error code means ?Not
 > registered'
 >
 > After the 64 bit registration the error reported was
 > COM Error 0x800a01ad: This error code means ?Not all components are
 > accessible'
 >
 > Once the 32bit COM component is loaded into DLLHOST.EXE it is then a
 > 32 bit application which may need to load other 32 bit components.
 > However this should not be a problem as the 32 bit VB application that
 > does the same thing as the ASP page works fine. The ASP page error
 > occurs at the point when it tries to load the first 32 bit component.
 > Is there some sort of ASP setting which enables out of process 32 bit
 > components perhaps?
 >
 > David
 >
 >
 >
 > "David Wang [Msft]" <someone.TakeThisOut@online.microsoft.com> wrote in message news:<#4Az2tXKEHA.3184@TK2MSFTNGP10.phx.gbl>...
  > > Welcome to WOW64. You have to be aware of all the rules, or else behavior
  > > will look very strange. All of this has NOTHING to do with IIS -- it
  > > applies generically to all processes on Windows. IIS is just another
  > > process.
  > >
  > > COM component registration exists in two locations, one for 64bit processes
  > > and one for 32bit processes. Where a registration goes depends on the
  > > bitness of the process that does the registration. If the registration is
  > > done by a 32bit process, like some existing x86 setup.exe, then it is only
  > > going to exist in the 32bit location. If the registration is done by a
  > > 64bit process, it will exist in the 64bit location and be mirrored to the
  > > 32bit location.
  > >
  > > Thus, it is possible to register a COM component on a 64bit OS and have it
  > > only available to 32bit process (like VB) but not 64bit process (like
  > > ASP.DLL interpreting ASP pages).
  > >
  > > Therefore, I have to ask how you registered this COM component -- because if
  > > you just ran the x86 setup program, it's likely to only exist for 32bit
  > > processes like VB -- ASP runs as a 64bit process, so it's not going to see
  > > that component unless you register it in 64bit as well -- and this explains
  > > your observation.
  > >
  > > --
  > > //David
  > > IIS<!-- ~MESSAGE_AFTER~ -->
 >> Stay informed about: Accessing 32 bit COM components in 64 bit IIS 
Back to top
Login to vote
someone9

External


Since: Aug 25, 2003
Posts: 2419



(Msg. 5) Posted: Thu Apr 29, 2004 9:15 pm
Post subject: Re: Accessing 32 bit COM components in 64 bit IIS [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

Hmm, weird. Can you check that all of the COM registrations made it to the
right parts of the registry? I want to distinguish whether your problem has
to do with IIS or COM registration weirdness involving WOW64.

You should be able to reproduce your situation outside of ASP by creating a
simple script on the commandline like:

-- Test.js contents ---
var obj = new ActiveXObject( "YourComponent.ProgId" );

And running it from a 64bit CMD shell window (default behavior). If the
problem is just with COM registration, this should fail just like it does in
your ASP page.

And if you run this script from a 32bit CMD shell window, using "start
%SYSTEMROOT%\SYSWOW64\CMD.EXE" from any commandline, it should work just
like in your VB App.

If this is what you see, then the issue has nothing to do with IIS and
everything to do with the registration of your component... and at this
point, we need to start digging around in the registry. It now becomes VERY
important the bitness of the tools/commands that you run -- you cannot
substitute bitness unless you know it has no effect on what you're looking
at.

What I first want to know is where all DLLs related to the component are
located. Are they inside the System32 directory or not?

--
//David
IIS
This posting is provided "AS IS" with no warranties, and confers no rights.
//
"David Hood" <david_hood DeleteThis @hotmail.com> wrote in message
news:60eec15e.0404261004.613936ea@posting.google.com...
Thanks for your reply David. I appreciate that the problem isn't so
much to do with IIS but your replies in this forum were the only place
I seemed to be able to find any information on the subject.

From the 64 bit Windows documentation I gather the following...

C:\Windows\SysWow64 contains a 32 bit version of regsvr32.exe
C:\Windows\System32 contains a 64 bit version of regsvr32.exe

Just to be sure the component was registered using both the 32 bit
regsrv32.exe program and the 64 bit regsvr32.exe program.

Before the 64 bit registration the error reported was
ASP 0177: COM Error 0x800401f3: This error code means 'Not
registered'

After the 64 bit registration the error reported was
COM Error 0x800a01ad: This error code means 'Not all components are
accessible'

Once the 32bit COM component is loaded into DLLHOST.EXE it is then a
32 bit application which may need to load other 32 bit components.
However this should not be a problem as the 32 bit VB application that
does the same thing as the ASP page works fine. The ASP page error
occurs at the point when it tries to load the first 32 bit component.
Is there some sort of ASP setting which enables out of process 32 bit
components perhaps?

David



"David Wang [Msft]" <someone DeleteThis @online.microsoft.com> wrote in message
news:<#4Az2tXKEHA.3184@TK2MSFTNGP10.phx.gbl>...
 > Welcome to WOW64. You have to be aware of all the rules, or else behavior
 > will look very strange. All of this has NOTHING to do with IIS -- it
 > applies generically to all processes on Windows. IIS is just another
 > process.
 >
 > COM component registration exists in two locations, one for 64bit
processes
 > and one for 32bit processes. Where a registration goes depends on the
 > bitness of the process that does the registration. If the registration is
 > done by a 32bit process, like some existing x86 setup.exe, then it is only
 > going to exist in the 32bit location. If the registration is done by a
 > 64bit process, it will exist in the 64bit location and be mirrored to the
 > 32bit location.
 >
 > Thus, it is possible to register a COM component on a 64bit OS and have it
 > only available to 32bit process (like VB) but not 64bit process (like
 > ASP.DLL interpreting ASP pages).
 >
 > Therefore, I have to ask how you registered this COM component -- because
if
 > you just ran the x86 setup program, it's likely to only exist for 32bit
 > processes like VB -- ASP runs as a 64bit process, so it's not going to see
 > that component unless you register it in 64bit as well -- and this
explains
 > your observation.
 >
 > --
 > //David
 > IIS<!-- ~MESSAGE_AFTER~ -->
 >> Stay informed about: Accessing 32 bit COM components in 64 bit IIS 
Back to top
Login to vote
david_hood

External


Since: Apr 23, 2004
Posts: 4



(Msg. 6) Posted: Tue May 04, 2004 8:02 am
Post subject: Re: Accessing 32 bit COM components in 64 bit IIS [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

I followed your instructions and that is exactly what happens. Under
the 64bit command line I get "Automation server can't create object"
and under the 32bit command line no error is thrown. So, as you say,
the problem must be to do with how the dll is registered.

The exact line in the Test.js file was...
var obj = new ActiveXObject( "MSXmlAnalysisSC.XmlAnalysis" );

The dll is not in the System32 diectory. It is installed under
c:\Program Files\Microsoft XML for Analysis SDK\
Under this directory there is a dll called msxaserv.dll. There is also
a dll under an "isapi" subdirectory called msxisapi.dll.

Both of the directories have been added to the path. The msxaserv.dll
has been registered successfully with both the 32bit and 64bit
regsvr32.

msxisapi.dll does not register under the 32 bit or 64 bit regsvr32
command line and fails with an "entry point was not found" message so
I assume that the it is just msxaserv that is used by the COM objects.
Is there a specific part of the registry I should be looking at to get
further with this?

Your help is much appreciated.

David

"David Wang [Msft]" <someone.TakeThisOut@online.microsoft.com> wrote in message news:<u#onmClLEHA.1032@tk2msftngp13.phx.gbl>...
 > Hmm, weird. Can you check that all of the COM registrations made it to the
 > right parts of the registry? I want to distinguish whether your problem has
 > to do with IIS or COM registration weirdness involving WOW64.
 >
 > You should be able to reproduce your situation outside of ASP by creating a
 > simple script on the commandline like:
 >
 > -- Test.js contents ---
 > var obj = new ActiveXObject( "YourComponent.ProgId" );
 >
 > And running it from a 64bit CMD shell window (default behavior). If the
 > problem is just with COM registration, this should fail just like it does in
 > your ASP page.
 >
 > And if you run this script from a 32bit CMD shell window, using "start
 > %SYSTEMROOT%\SYSWOW64\CMD.EXE" from any commandline, it should work just
 > like in your VB App.
 >
 > If this is what you see, then the issue has nothing to do with IIS and
 > everything to do with the registration of your component... and at this
 > point, we need to start digging around in the registry. It now becomes VERY
 > important the bitness of the tools/commands that you run -- you cannot
 > substitute bitness unless you know it has no effect on what you're looking
 > at.
 >
 > What I first want to know is where all DLLs related to the component are
 > located. Are they inside the System32 directory or not?
 >
 > --
 > //David
 > IIS
 > This posting is provided "AS IS" with no warranties, and confers no rights.
 > //
 > "David Hood" <david_hood.TakeThisOut@hotmail.com> wrote in message
 > news:60eec15e.0404261004.613936ea@posting.google.com...
 > Thanks for your reply David. I appreciate that the problem isn't so
 > much to do with IIS but your replies in this forum were the only place
 > I seemed to be able to find any information on the subject.
 >
 > From the 64 bit Windows documentation I gather the following...
 >
 > C:\Windows\SysWow64 contains a 32 bit version of regsvr32.exe
 > C:\Windows\System32 contains a 64 bit version of regsvr32.exe
 >
 > Just to be sure the component was registered using both the 32 bit
 > regsrv32.exe program and the 64 bit regsvr32.exe program.
 >
 > Before the 64 bit registration the error reported was
 > ASP 0177: COM Error 0x800401f3: This error code means 'Not
 > registered'
 >
 > After the 64 bit registration the error reported was
 > COM Error 0x800a01ad: This error code means 'Not all components are
 > accessible'
 >
 > Once the 32bit COM component is loaded into DLLHOST.EXE it is then a
 > 32 bit application which may need to load other 32 bit components.
 > However this should not be a problem as the 32 bit VB application that
 > does the same thing as the ASP page works fine. The ASP page error
 > occurs at the point when it tries to load the first 32 bit component.
 > Is there some sort of ASP setting which enables out of process 32 bit
 > components perhaps?
 >
 > David
 >
 >
 >
 > "David Wang [Msft]" <someone.TakeThisOut@online.microsoft.com> wrote in message
 > news:<#4Az2tXKEHA.3184@TK2MSFTNGP10.phx.gbl>...
  > > Welcome to WOW64. You have to be aware of all the rules, or else behavior
  > > will look very strange. All of this has NOTHING to do with IIS -- it
  > > applies generically to all processes on Windows. IIS is just another
  > > process.
  > >
  > > COM component registration exists in two locations, one for 64bit
 > processes
  > > and one for 32bit processes. Where a registration goes depends on the
  > > bitness of the process that does the registration. If the registration is
  > > done by a 32bit process, like some existing x86 setup.exe, then it is only
  > > going to exist in the 32bit location. If the registration is done by a
  > > 64bit process, it will exist in the 64bit location and be mirrored to the
  > > 32bit location.
  > >
  > > Thus, it is possible to register a COM component on a 64bit OS and have it
  > > only available to 32bit process (like VB) but not 64bit process (like
  > > ASP.DLL interpreting ASP pages).
  > >
  > > Therefore, I have to ask how you registered this COM component -- because
 > if
  > > you just ran the x86 setup program, it's likely to only exist for 32bit
  > > processes like VB -- ASP runs as a 64bit process, so it's not going to see
  > > that component unless you register it in 64bit as well -- and this
 > explains
  > > your observation.
  > >
  > > --
  > > //David
  > > IIS<!-- ~MESSAGE_AFTER~ -->
 >> Stay informed about: Accessing 32 bit COM components in 64 bit IIS 
Back to top
Login to vote
someone9

External


Since: Aug 25, 2003
Posts: 2419



(Msg. 7) Posted: Fri May 07, 2004 3:47 am
Post subject: Re: Accessing 32 bit COM components in 64 bit IIS [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

I downloaded and looked at this component. It will not work under 64bit
IIS.

It is a 32bit component and is writing its registration info to the Registry
when you call DllRegisterServer via regsvr32.exe. Since it's 32bit code
that is writing to the registry, no matter how you regsvr32 it, it is not
going to be able to write its configuration into the 64bit part of the
Registry -- hence 64bit scripts instantiating this component will never find
it.

However, it is a component that is registered to run "in-process" (i.e.
inside the process that instantiates it), which won't work -- I ported its
32bit registration into the 64bit registration and all I saw was "bad
image" -- meaning the 32bit DLL was being loaded into the 64bit process and
failing.

In WS03SP1, we will be introducing the ability to configure IIS to run under
WOW64 (i.e. 32bit compatibility mode) and launch 32bit w3wp.exe -- which
should resolve this issue since it will be a 32bit ASP, loading the 32bit
component, all into a 32bit w3wp.exe

--
//David
IIS
This posting is provided "AS IS" with no warranties, and confers no rights.
//
"David Hood" <david_hood.RemoveThis@hotmail.com> wrote in message
news:60eec15e.0405040402.7ec5b0af@posting.google.com...
I followed your instructions and that is exactly what happens. Under
the 64bit command line I get "Automation server can't create object"
and under the 32bit command line no error is thrown. So, as you say,
the problem must be to do with how the dll is registered.

The exact line in the Test.js file was...
var obj = new ActiveXObject( "MSXmlAnalysisSC.XmlAnalysis" );

The dll is not in the System32 diectory. It is installed under
c:\Program Files\Microsoft XML for Analysis SDK\
Under this directory there is a dll called msxaserv.dll. There is also
a dll under an "isapi" subdirectory called msxisapi.dll.

Both of the directories have been added to the path. The msxaserv.dll
has been registered successfully with both the 32bit and 64bit
regsvr32.

msxisapi.dll does not register under the 32 bit or 64 bit regsvr32
command line and fails with an "entry point was not found" message so
I assume that the it is just msxaserv that is used by the COM objects.
Is there a specific part of the registry I should be looking at to get
further with this?

Your help is much appreciated.

David

"David Wang [Msft]" <someone.RemoveThis@online.microsoft.com> wrote in message
news:<u#onmClLEHA.1032@tk2msftngp13.phx.gbl>...
 > Hmm, weird. Can you check that all of the COM registrations made it to
the
 > right parts of the registry? I want to distinguish whether your problem
has
 > to do with IIS or COM registration weirdness involving WOW64.
 >
 > You should be able to reproduce your situation outside of ASP by creating
a
 > simple script on the commandline like:
 >
 > -- Test.js contents ---
 > var obj = new ActiveXObject( "YourComponent.ProgId" );
 >
 > And running it from a 64bit CMD shell window (default behavior). If the
 > problem is just with COM registration, this should fail just like it does
in
 > your ASP page.
 >
 > And if you run this script from a 32bit CMD shell window, using "start
 > %SYSTEMROOT%\SYSWOW64\CMD.EXE" from any commandline, it should work just
 > like in your VB App.
 >
 > If this is what you see, then the issue has nothing to do with IIS and
 > everything to do with the registration of your component... and at this
 > point, we need to start digging around in the registry. It now becomes
VERY
 > important the bitness of the tools/commands that you run -- you cannot
 > substitute bitness unless you know it has no effect on what you're looking
 > at.
 >
 > What I first want to know is where all DLLs related to the component are
 > located. Are they inside the System32 directory or not?
 >
 > --
 > //David
 > IIS
 > This posting is provided "AS IS" with no warranties, and confers no
rights.
 > //
 > "David Hood" <david_hood.RemoveThis@hotmail.com> wrote in message
 > news:60eec15e.0404261004.613936ea@posting.google.com...
 > Thanks for your reply David. I appreciate that the problem isn't so
 > much to do with IIS but your replies in this forum were the only place
 > I seemed to be able to find any information on the subject.
 >
 > From the 64 bit Windows documentation I gather the following...
 >
 > C:\Windows\SysWow64 contains a 32 bit version of regsvr32.exe
 > C:\Windows\System32 contains a 64 bit version of regsvr32.exe
 >
 > Just to be sure the component was registered using both the 32 bit
 > regsrv32.exe program and the 64 bit regsvr32.exe program.
 >
 > Before the 64 bit registration the error reported was
 > ASP 0177: COM Error 0x800401f3: This error code means 'Not
 > registered'
 >
 > After the 64 bit registration the error reported was
 > COM Error 0x800a01ad: This error code means 'Not all components are
 > accessible'
 >
 > Once the 32bit COM component is loaded into DLLHOST.EXE it is then a
 > 32 bit application which may need to load other 32 bit components.
 > However this should not be a problem as the 32 bit VB application that
 > does the same thing as the ASP page works fine. The ASP page error
 > occurs at the point when it tries to load the first 32 bit component.
 > Is there some sort of ASP setting which enables out of process 32 bit
 > components perhaps?
 >
 > David
 >
 >
 >
 > "David Wang [Msft]" <someone.RemoveThis@online.microsoft.com> wrote in message
 > news:<#4Az2tXKEHA.3184@TK2MSFTNGP10.phx.gbl>...
  > > Welcome to WOW64. You have to be aware of all the rules, or else
behavior
  > > will look very strange. All of this has NOTHING to do with IIS -- it
  > > applies generically to all processes on Windows. IIS is just another
  > > process.
  > >
  > > COM component registration exists in two locations, one for 64bit
 > processes
  > > and one for 32bit processes. Where a registration goes depends on the
  > > bitness of the process that does the registration. If the registration
is
  > > done by a 32bit process, like some existing x86 setup.exe, then it is
only
  > > going to exist in the 32bit location. If the registration is done by a
  > > 64bit process, it will exist in the 64bit location and be mirrored to
the
  > > 32bit location.
  > >
  > > Thus, it is possible to register a COM component on a 64bit OS and have
it
  > > only available to 32bit process (like VB) but not 64bit process (like
  > > ASP.DLL interpreting ASP pages).
  > >
  > > Therefore, I have to ask how you registered this COM component --
because
 > if
  > > you just ran the x86 setup program, it's likely to only exist for 32bit
  > > processes like VB -- ASP runs as a 64bit process, so it's not going to
see
  > > that component unless you register it in 64bit as well -- and this
 > explains
  > > your observation.
  > >
  > > --
  > > //David
  > > IIS<!-- ~MESSAGE_AFTER~ -->
 >> Stay informed about: Accessing 32 bit COM components in 64 bit IIS 
Back to top
Login to vote
Display posts from previous:   
Related Topics:
How to get the IIS components - Is that possible to down load and at where the IIS components for Windows 2000? thanks

Using Office Components on IIS 5.0 - Using Office Components on IIS 5.0I would like make a friendly challenge the experts out there and to help me find a solution to a problem I have. PLEASE help me! I need to call server.createObject("outlook.application") from an ASP page on I...

IIS 5.0 Missing components - I have recently started an old server and updated the OS to sp4 for Win2kS. I have found IIS is not functioning properly and cannot seem to find the IIS 5.0 download anywhere. Anyone know where I can get the IIS 5.0 install? -- Patrick J. Burwell ..

Debugging VB6 Components w/ IIS6 - When I try to debug my ASP web application on W2K3 Server using the same techniques that I used for Win2K Server (run VB6 component, then start up the ASP application) it does not work. I get a cannot create object error when I navigate to the ASP page....

IIS 5.1: Missing the 3 IIS Com+ components after installed - Hi, recently update the laptop from Home edition to Pro. After installing the IIS 5.1 service, any .asp page will be served only when the application protection in the default web site is set to low. If set it to Medium, the http 500 error page will be...
   Web Hosting and Web Master Forums (Home) -> IIS All times are: Pacific Time (US & Canada) (change)
Page 1 of 1

 
You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum



[ Contact us | Terms of Service/Privacy Policy ]