Deploy .NET applications as a single EXE that runs without the .NET Framework
Today, Fellow mvp teucer pointed a cool link to install .NET Application without .NET Framework
Check the following link Thinstall
Few notable things from the site…
Thinstall packages an entire application suite into a single EXE file that is able to run directly without decompressing to disk. Software Developers can use Thinstall to protect and hide their data files from prying eyes, prevent disassembly of their EXE or DLL files, and create “no installation required” distributions of their software applications.
How does it work?
Thinstall first inspects your program to find all the code it uses. Next Thinstall packages these files into a single EXE utilizing patent pending Virtual Registry and Virtual File system technology to relocate .NET Framework directories so all files are always loaded from your EXE package. The system version of the .NET framework is never used and it does not matter if the user has v1.0, v1.1, both or no version at all.
Thinstall's virtual registry allows .NET Framework's ActiveX controls to be visible to your application without system changes. These ActiveX controls are listed in the text file mscoree.dll.threg.
Thinstall relocates the Global Assembly Cache and Native Images directory to reside inside your EXE package. This prevents any conflicts from external configurations. These settings are controlled in the text file fusion.dll.threg.
Thinstall is not able to determine assemblies or external programs that are used dynamically. For example, assemblies that are referenced explicitly through System.Reflection.Assembly.Load
For such assemblies, you may need to manually add these Assemblies to your project by copying from c:\windows\assembly\gac