I tried trashing the tiny piece of bootstrap code that gets place in all
.NET EXEs - the JMP instruction that calls into CorExeMain.  It turns out
that if you replace this with garbage it doesn't matter.  It seems to be
pretty much equivalent to trashing the DOS stub - neither of these bits of
code ever gets executed under XP.

So this suggests that XP does actually understand the .NET file format
natively to some extent.  At least it does after you've installed the
Windows Component Update...

I've never tried running a .NET binary on an XP machine without the
framework.  Obviously it won't work, but I'm not sure what will happen.  It
depends on whether the XP loader only knows about .NET natively after you've
installed the WCU, or whether it always has.  If the former, you'll
presumably just get an error complaining that it can't find MSCOREE.DLL.  If
the latter, you might see something different.

But it certainly doesn't ever execute the unmanaged entry point on XP if you
have the framework installed.


--
Ian Griffiths
DevelopMentor

----- Original Message -----
From: "John Lam" <[EMAIL PROTECTED]>


I'm fairly certain of this; if the XP loader understood the format what
would it do without the runtime installed? In .NET Server the runtime
comes baked in, so the loader can do the handoff there.

-John
http://www.iunknown.com


-----Original Message-----
From: Brad Wilson [mailto:[EMAIL PROTECTED]]

John Lam wrote:

> My question is: how is this handoff managed? I know that under
> Windows.Net Server that the Windows loader understands the managed PE
> file format, so presumably this is how they did it under Windows.Net
> Server. However, the Windows XP doesn't understand managed PE files
> natively. How is it handled under XP?

Are you sure? I'm 99% sure that XP understands managed files natively,
even
though it didn't ship with the .NET framework installed.

Brad

--
Read my web log at http://www.quality.nu/dotnetguy/

You can read messages from the DOTNET archive, unsubscribe from DOTNET,
or
subscribe to other DevelopMentor lists at http://discuss.develop.com.

You can read messages from the DOTNET archive, unsubscribe from DOTNET, or
subscribe to other DevelopMentor lists at http://discuss.develop.com.

You can read messages from the DOTNET archive, unsubscribe from DOTNET, or
subscribe to other DevelopMentor lists at http://discuss.develop.com.

Reply via email to