|
|
|
date: Thu, 6 Mar 2008 14:39:00 -0800,
group: microsoft.public.platformsdk.internet.server.isapi-dev
back
Re: x64 ISAPI dev and deployment
The Win32 Error number that is held in the data field of the Event Log
Entry (that's what is being referenced by the error message) is
precisely the only information necessary to debug this issue. While
terse, the error message is exactly correct.
My blog entry referenced by WenJun should cover most common cases. If
you would provide the error number, I can probably tell you what to do
about it.
//David
http://w3-4u.blogspot.com
http://blogs.msdn.com/David.Wang
//
On Mar 6, 2:39 pm, Mark <mmodr...@nospam.nospam> wrote:
> Hi...
>
> I've got some ISAPI filters that I built on one x64 box that work just fine
> on the box where they were built, but when they are copied to another x64
> box, IIS throws a very obtuse error message "The data is the error." Kinda
> like "The medium is the message" I guess.
>
> Anyway, both boxes are W 2003 x64 edition SP 2.
>
> I thought it might be a dll dependency issue so I got the x64 depends.exe
> and used it on both sides. One problem with depends.exe, though, is that you
> get a lot of false negatives (it reports missing dlls as errors that would be
> late-loaded if they were ever used, though in practice it never is). There's
> always some dll it shows as missing that's way down the dependency tree and
> it's one OS dll saying it depends on another that's not there.
>
> The MSV*80D.dlls were missing from the other system without VS on it, but I
> copied them over and it didn't help. Depends.exe on the broken box actually
> says more of the dlls are found there than the dev box where it was built
> (and working).
>
> What's "The data is the error" supposed to mean?
>
> How do you figure out what it doesn't like about the dll?
>
> Thanks
> Mark
date: Fri, 7 Mar 2008 02:38:41 -0800 (PST)
author: David Wang
Re: x64 ISAPI dev and deployment
Hi David...
The error number in the event log was
b1 36 00 00
Thanks
Mark
"David Wang" wrote:
> The Win32 Error number that is held in the data field of the Event Log
> Entry (that's what is being referenced by the error message) is
> precisely the only information necessary to debug this issue. While
> terse, the error message is exactly correct.
>
> My blog entry referenced by WenJun should cover most common cases. If
> you would provide the error number, I can probably tell you what to do
> about it.
>
>
> //David
> http://w3-4u.blogspot.com
> http://blogs.msdn.com/David.Wang
> //
>
>
> On Mar 6, 2:39 pm, Mark <mmodr...@nospam.nospam> wrote:
> > Hi...
> >
> > I've got some ISAPI filters that I built on one x64 box that work just fine
> > on the box where they were built, but when they are copied to another x64
> > box, IIS throws a very obtuse error message "The data is the error." Kinda
> > like "The medium is the message" I guess.
> >
> > Anyway, both boxes are W 2003 x64 edition SP 2.
> >
> > I thought it might be a dll dependency issue so I got the x64 depends.exe
> > and used it on both sides. One problem with depends.exe, though, is that you
> > get a lot of false negatives (it reports missing dlls as errors that would be
> > late-loaded if they were ever used, though in practice it never is). There's
> > always some dll it shows as missing that's way down the dependency tree and
> > it's one OS dll saying it depends on another that's not there.
> >
> > The MSV*80D.dlls were missing from the other system without VS on it, but I
> > copied them over and it didn't help. Depends.exe on the broken box actually
> > says more of the dlls are found there than the dev box where it was built
> > (and working).
> >
> > What's "The data is the error" supposed to mean?
> >
> > How do you figure out what it doesn't like about the dll?
> >
> > Thanks
> > Mark
>
>
date: Fri, 7 Mar 2008 07:27:01 -0800
author: Mark am
Re: x64 ISAPI dev and deployment
That is error 0x000036b1 = 14001 = The application has failed to start
because its side-by-side configuration is incorrect. Please see the
application event log for more detail.
This is pretty much standard DLL-dependency stuff unrelated to IIS.
You would encounter the same problem if you built your own EXE which
used the same DLLs and then tried to copy it around.
You will need to install the MSVCRT Runtime distributables (it's a MSI
file). You are not supposed to just copy DLLs. It's one of the things
that has changed (for the better) in Visual Studio.
Even though it seems to be a hassle -- installing an MSI just to
support your ISAPI DLL -- it is the proper and better way because
copying DLLs create/propagate DLL hell. MSI and WinSxS are designed
against DLL hell by making the rules easy to implement.
If you declaratively tell Windows "hey, I'm about to install MSVCRT
DLLs version 8.0" [because my ISAPI DLL depends on it], Windows can
properly prepare for it. Suppose some other application already
installed MSVCRT DLLs version 8.0 of the specific build, Windows will
silently make your installation finish and succeed with WinSxS and
there will only be ONE copy of MSVCRT DLLs version 8.0 on the machine.
Whereas if you just copied it yourself, there would be two copies, one
with each application. And if both applications insisted that their
copy has to be in %systemroot%\System32, they would clearly stomp on
each other, which would be bad if one version is incompatible with the
other.
There are so many problems with applications copying and distributing
DLLs which they depend on but does not compile... I am glad it is
finally being organized, even after the horses have left the barn...
so it'll be painful but necessary.
FYI: I really haven't seen the problems you describe with x64
depends.exe. I do see those problems when I use the 32bit version on
x64, or if I was using the 64bit version on a 32bit DLL.
//David
http://w3-4u.blogspot.com
http://blogs.msdn.com/David.Wang
//
On Mar 7, 7:27 am, Mark <mmodr...@nospam.nospam> wrote:
> Hi David...
>
> The error number in the event log was
>
> b1 36 00 00
>
> Thanks
> Mark
>
>
>
> "David Wang" wrote:
> > The Win32 Error number that is held in the data field of the Event Log
> > Entry (that's what is being referenced by the error message) is
> > precisely the only information necessary to debug this issue. While
> > terse, the error message is exactly correct.
>
> > My blog entry referenced by WenJun should cover most common cases. If
> > you would provide the error number, I can probably tell you what to do
> > about it.
>
> > //David
> >http://w3-4u.blogspot.com
> >http://blogs.msdn.com/David.Wang
> > //
>
> > On Mar 6, 2:39 pm, Mark <mmodr...@nospam.nospam> wrote:
> > > Hi...
>
> > > I've got some ISAPI filters that I built on one x64 box that work just fine
> > > on the box where they were built, but when they are copied to another x64
> > > box, IIS throws a very obtuse error message "The data is the error." Kinda
> > > like "The medium is the message" I guess.
>
> > > Anyway, both boxes are W 2003 x64 edition SP 2.
>
> > > I thought it might be a dll dependency issue so I got the x64 depends.exe
> > > and used it on both sides. One problem with depends.exe, though, is that you
> > > get a lot of false negatives (it reports missing dlls as errors that would be
> > > late-loaded if they were ever used, though in practice it never is). There's
> > > always some dll it shows as missing that's way down the dependency tree and
> > > it's one OS dll saying it depends on another that's not there.
>
> > > The MSV*80D.dlls were missing from the other system without VS on it, but I
> > > copied them over and it didn't help. Depends.exe on the broken box actually
> > > says more of the dlls are found there than the dev box where it was built
> > > (and working).
>
> > > What's "The data is the error" supposed to mean?
>
> > > How do you figure out what it doesn't like about the dll?
>
> > > Thanks
> > > Mark- Hide quoted text -
>
> - Show quoted text -
date: Sat, 8 Mar 2008 01:05:03 -0800 (PST)
author: David Wang
|
|