2009年3月14日星期六

Is it possible to deploy a .NET exe without installing .NET framework

在没有安装.NET Framework的平台上运行.NET程序,问题是可能吗?
答案是:没有不可能。
C#的出现是为了与Java抗衡,和Java一样,需要安装虚拟机平台来运行。如果没有CLR,似乎是不行的。但是如果将所有需要的dll都拷贝过来,将其他的所有设置相关的内容都拷贝过来,集成到exe中,不就可以了吗?

怎么做呢?Google Thinstall to Check the detail.
其他的包括

Static Compilation in Mono

Xenocode(Deploy your .NET app securely, with no Framework install ),
Remotesoft(Salamander .NET Linker, Native Compiler and Mini-Deployment Tool)

Thinstall软件已经被VMWare收购了。

.NET framework virtualization

Deploy and run .NET applications - with out installing the .NET framework. Run applications that require different versions of .NET, concurrently, without conflicts and protect code from dissassembly.

Challenges

Developing with the latest release of the .NET framework offers clear advantages. However, deploying an application requiring the latest .NET can present challenges due to a number issues including:

  • Other applications require an earlier version of .NET
  • Locked down desktops can not be upgraded immediately
  • Computers may need to have different versions of .NET installed concurrently

Whether a commercial application distributed to home computers or a custom application to corporate locked down computers, the correct version of the .NET framework - or any of the .NET components - may not be installed. This presents challenges in terms of updating, running, and installing applications and also problems when applications require different .NET versions to be installed.

VMware ThinApp Solution (Formerly Thinstall)

ThinApp provides essential features that make .NET deployments conflict free and secure. Benefits include:

  • Not requiring the .NET Framework to be installed. By packaging the application and linking the .NET framework with ThinApp, no installation of the .NET framework is required. The application runs without modifying the host computer.
  • Eliminating all installation errors and conflicts. ThinApp enables applications to run concurrently that each require a different version of .NET to be installed.
  • Reducing download and installation time. ThinApp packages all of the .NET framework or only the components that the program needs into a single, compressed EXE. This not only reduces the size of the components that need to be installed (and downloaded), but also makes ‘installation’ significantly faster. Nothing is installed, rather the program is run via the ThinApp Virtual Operating System.

Additionally, even applications created for internal corporate use at some point may be distributed externally. .NET applications can be easily disassembled with readily available developer tools that make inspection of source code easy, enabling hacking and reverse engineering relatively simple for any experienced programmer.

ThinApp also protects against hacking and disassembly. Rather than using obfuscation, ThinApp instead encrypts the .NET Program inside of secure loader which prevents disassembly. The resulting EXE no longer appears to be a .NET Program so codedisassemblers are unable to decrypt the program stored inside.

没有评论: