I was struggling to learn the how applications are executed by CLR from last two days. I somehow got the process. Now I am curious to know how Windows distinguish between normal exe files and exe(assemblies) created by .Net compilers and linkers? Please help! Thank you for your kind attention!
Asked
Active
Viewed 531 times
0
-
There is a good explanation of this here: http://stackoverflow.com/questions/5486220/what-is-the-difference-between-an-ordinary-exe-file-and-the-exe-file-generated-fr – Dan Solovay Jul 27 '11 at 04:38
-
I read the answer but still I am having questions, 1. My question is does the normal exe has somthing different format than that of .Net exe assembly? 2. How OS decidedes whether to handover the exe to CLR or execute it by itself? 3. Does normal exe has only PE header and native code? – Mohan Mahajan Jul 27 '11 at 05:20
1 Answers
1
What you are looking for explained in very concise form in CLR via C# by Jeffery Ritcher.
Actually there are headers mainly PE hearder and CLR header which helps windows to decide whether an exe is a native exe or .net exe.
You can use dumpbin exe if you want to take a look at the headers for exe's yourself.

Deepansh Gupta
- 593
- 4
- 9