C#脱离framework直接运行有什么其他好办法吗?


例如飞信可以在不安装framework的时候运行

c#

.无法显示. 11 years, 11 months ago

现成的工具有 Xenocode 的postbuidle或者vas, Salamander .NET Linker, 以及MaxToCode 作者以前做的 framework linker. 以及一些支持注册表模拟和文件模拟的打包工具molebox,thinstall等.

Salamander .Net Linker ,Remotesoft的一个产品,没有可以下载的,但是其兼容性似乎很好。 移动的飞信软件 就利用了它的核心。

在网上找到一种直接利用飞信的框架来实现脱离 .Net framework运行的方法,供参考。

首先下载一个飞信的程序安装。在安装目录中会有 VMDotNet
目录。这个就是.Net框架虚拟环境需要的文件。

直接把整个目录提取出来。

如何利用这个虚拟环境运行 自己的 .Net 程序呢?
很简单,一个命令行搞定。在 VMDotNet 目录里面会找到一个
FetionVM.exe 。这个是虚拟环境的loader。 使用方法:
FetionVM.exe pathtoyoureexe 就是直接把你的
.Net 程序 作为命令行参数传递给 FetionVM.exe
就可以在这个虚拟环境中执行你的。net程序了。

最好再自己写一个启动程序,首先检查系统是否安装了。Net框架,如果有直接运行。没有调用虚拟环境运行。

这个启动程序飞信也有,如果不想自己写就直接拿飞信安装目录中的
Feition.exe,但是这样的话 你自己的.Net程序的名字必须叫
FeitionFX.exe 。把它和Feition.exe
放在同一目录下,直接执行 Feition.exe 即可。

另外,如果你对。Net程序使用了加密保护,需要注意一下,目前市面上的大部分。Net加密工具加密后的程序集不能在这个虚拟环境中运行的。

这个东西除了能实现脱离
。net框架运行外,还有另外一个副作用--让。net程序运行在指定版本的
。net
框架中(虽然机器上安装了。net框架,仍然可以让。net程序在这个虚拟框架下运行)。

耶稣yesue answered 11 years, 11 months ago

Your Answer