Re: What is the best way to moving managed code to unmanaged code?

From: remotesoft (info_at_remotesoft.com)
Date: 08/14/04


Date: Sat, 14 Aug 2004 09:14:13 -0700

To wrap everything together into a single self-contained exe (like
self-extracting) is easy to do, but there are two major drawbacks:

(1) impossible (or very difficult) to update the contained files
(2) impossible to support NGEN utility. Since it requires dynamic generation
of native code based on the target CPU,s you cann't include the ngen-ed
files inside the "self-extracting" EXE.

Based on the above reasons, we have not released the feature of putting
everything into a single exe. However, you can link all managed assemblies
into an exe, the addition files would be only those required by CLR runtime.
As for reverse engineering, we have other better tools. Zipping everything
into an encrypted exe can be always decrypted back to the original
assemblies.

Some major differences between Remotesoft and Thinstall's products are:

(1) When we say linking, it means the MSIL code of multiple
assemblies/modules are linked into one file, just as the C/C++ linker does;
Thinstall doesn't do this. Our salamander linker can actually link all
managed MSIL code into a single file. Thinstall's linking means finding the
dependent files and puting them into a directory, then wrap all into an exe.
so there is no MSIL code being linked. The package size (before compression)
would be simply the sum of all files. Therefore, I can safely say our tool
always generate smaller package than Thinstall does.

(2) Our linker/mini-deployment tool supports managed DLLs, for example, you
can mini-deploy an Office addin, or an IE windows forms user controls, etc.
Thinstall does not support DLL.

(3) Our linker/mini-deployment tool allows you to use ngen utility at
installation time. I don't know how Thinstall can do this since it puts
everything into a single exe beforehand.

(4) Since our tools can link/embed system framework libraries (e.g.,
System.Windows.Forms.dll, System.Data.dll) into your own managed exe, you
can now perform an obfuscation that removes public APIs, thus fundamentally
increases security against reverse engineering. This is the first tool that
allows framework libraries to be linked into your own code.

Huihong
Remotesoft

"Jonathan Clark" <jonathanclarkcom@gmail.com> wrote in message
news:51b38f9a.0408132101.75a66793@posting.google.com...
> > I believe the salamander product produces single exe too
>
> The .NET framework consist of a large number of unmanaged EXEs, DLLs,
> .config files, .vxd files, .nlp files, etc. Thinstall can link
> managed and unmanaged code as well as .config files, producing a final
> EXE that is a single file. Remotesoft produces a big set of files
> that must be installed using ZIP or InstallShield. This is important
> because with Remotesoft a hacker has access to your unmanaged code,
> the config files, basically everything - they also know exactly what
> you used by looking at the file set. Linking with Thinstall, a hacker
> wouldn't even know you used .NET, let alone Thinstall, unless you told
> them.



Relevant Pages

  • Re: Stand Alone EXE
    ... > Thank you very much Jim! ... > Preferably I would like to just release a single .EXE program simply ... you run Thinstall and point it to your ... you can use Thinstall to wrap the exe and only the portions of the ...
    (microsoft.public.dotnet.general)
  • Re: Stand Alone EXE
    ... >> Thinstall apps are still a lot larger than a simple exe output from .Net. ... If you downloaded the .Net framework and the code needed ... You give people the option to download the Framework or stand alone EXE. ...
    (microsoft.public.dotnet.general)
  • Protection
    ... I try ThInstall Studio product. ... They say:"Thinstall packages an entire ... application suite into a single EXE file that is able to run directly ... without decompressing to disk. ...
    (microsoft.public.dotnet.security)
  • Re: Stand Alone EXE
    ... If Thinstall is shipping the libraries ... >> Being worried about a new technlogy is the sign of a good developer. ... like to stick with the old methods of software distribution. ... If you could deploy your applications as a single EXE that requires no ...
    (microsoft.public.dotnet.general)