Yes, you can precompile Ngen.exe, however this does not eliminate the CLR dependency.
You should also send IL assemblies, the only advantage of Ngen is that your application can start without calling JIT, so you get very fast startup times.
According to CLR Via C #:
In addition, assemblies precompiled using Ngen are usually slower than JIT'ed assemblies, because the JIT compiler can optimize the target machine (32-bit 64-bit? Special registers? Etc.), while NGEN will be the base compilation.
EDIT:
There is some discussion of the above information with Via C # CLR, as some say that you should run Ngen on the target machine only as part of the installation process.
FlySwat Sep 26 '08 at 17:23 2008-09-26 17:23
source share