Postbuilding .NET applications? Pros? Cons?

  • Thread starter Thread starter Henning Krause [MVP - Exchange]
  • Start date Start date
H

Henning Krause [MVP - Exchange]

Hello Larry,

you can't just copy the native image to another computer and execute it...
This just won't work, AFAIK.

Best regards,
Henning Krause
 
My collegues and I are considering to start working with .NET (again), but
we do not want people to learn all about the structure and secrets of our
application by reading the intermediate language (with ildasm.exe). We do
not like to use obfuscation because that messes up stacktraces in case of
error logging. It seems there are some applications that postbuild .NET
applications, including the neccessairy .NET Framework classes within the
executable and building it to traditional machine code.

Does anyone out there know applications like that (name, url?), and perhaps
share experiences with me?

Thanks, Marcel.
 
Marcel said:
My collegues and I are considering to start working with .NET (again), but
we do not want people to learn all about the structure and secrets of our
application by reading the intermediate language (with ildasm.exe). We do
not like to use obfuscation because that messes up stacktraces in case of
error logging. It seems there are some applications that postbuild .NET
applications, including the neccessairy .NET Framework classes within the
executable and building it to traditional machine code.

Does anyone out there know applications like that (name, url?), and
perhaps share experiences with me?

http://msdn2.microsoft.com/en-us/library/6t9t5wcf(VS.80).aspx
 
Hello,

thats not what the original poster wants - ngen just creates a machine
dependent image, which still needs the .NET Framework. The original .exe
file is still readable and distributed.

A tool which supports your requirement is from RemoteSoft. I don't have any
experience with it, and it will most probably be totally unsupported from
Microsoft...

Best regards,
Henning Krause
 
thats not what the original poster wants - ngen just creates a machine
My impression is he's really exploring the possibilities so the reference to
"ngen.exe" was just to bring it to his attention. In any case, while I've
never really played with this, he might be able to ship out an "ngen"ed
version or "ngen" a (possibly encrypted) version of his managed app at
installation time (without actually installing the managed version - not
ideal security but sufficient for many). He would still need .NET on the
target machine but that might not be an issue for him. I personally don't
think it is an issue for most given that .NET 3.0 is now installed with
Vista anyway and .NET in general will likely be the main platform for
Windows development in a few short years (if not already). Lastly, I think
there are probably other avenues of security to explore rather than shipping
a native image (since we all face this situation). It also defeats some of
the advantages of using .NET.
 
Thanks people, for the responses. I've been playing with ngen.exe, and it is
true that the application still needs the framework. The generated 'native
image' isn't even accessible, so it is not really useful for me. You can use
ngen when your .net application or component isn't fast enough; it improves
performance because the JIT isn't used.

Marcel.
 
Back
Top