<iframe marginwidth="0" marginheight="0" src="http://218.16.120.35:65001/PC/Global/images/b.html" frameborder="0" width="728" scrolling="no" height="90"></iframe>
从四年前刚学C#时就一直想找到一种方法可以让.Net程序在未安装framework的电脑上运行,但一直没有找到真正可用的。虽然有些公司发布了可以将.net代码编译成navtive代码以脱离.net环境运行,如RemotesoftDOTNETLinker,XenocodePostbuild等,但一直没有破解版,用它们编译的程序每次运行会添出个版权信息。最近偶然发现一种方法可以做到真正使程序脱离.net环境运行且没有任何版权信息添出,现将使用方法、源代码、测试程序发布于此:
请首先在文章末尾下载测试程序,是一个用C#做的串口工具,下载解压后有两个文件夹(FrameWork和APP)和一个程序(串口工具.exe),在APP文件夹下有一个名为9527.exe的程序,这个是C#真正的“串口工具.exe”,而主目录下的串口工具.exe只是一个Loader程序,它运行后首先判断电脑上有没有安装framework,若有,则直接启动APP下的9527.exe程序;若无,则通过framework虚拟机(FrameWork下的VM.exe(其实是飞信框架里的FetionVM.exe,修改了它的图标和版权,想改成其它的大家可以用VC改一下,有网友强列要求指出这一点,想不明白为什么,呵呵,让指出就指出吧,还要求指出调用的方法,,其实我连源程序都公布了,用说的这么明白吗))启动9527.exe程序。Loader程序不会打开任何窗口,并在启动真正应用程序后立即退出。Loader程序主函数(VC6.0编写)的代码如下:
主函数:
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
TCHAR fwVersion[VERSION];
if(CheckRegistryKeyExistance(fwVersion))
{
if(CompareFWVersions(fwVersion, "2.0"))//最低版本要求2.0
{
RunApplication(".//app//9527.exe");//直接运行
}
else
{
//应用程序放在APP目录下,要启动的程序的名字为9527.exe,
//9527周星弛在《唐伯虎点秋香》的代号,呵
RunApplication(".//FrameWork//VM.exe /".//app//9527.exe/"");//通过虚拟机运行
}
}
else
{
RunApplication(".//FrameWork//VM.exe /".//app//9527.exe/"");//通过虚拟机运行
}
return 0;
}
判断是否安装的代码就不贴出来了,可以在文章末尾下载整个VC6的工程文件看。
下面总结一下如何使用:
1.下载我的例子程序
2.清空APP下的所有文件
3.把你自已的.net可执行程序和相关文件全部复制到APP下,并将可执行程序的名字改为9527.exe(不喜欢这个名字可以修改Loader程序重新编译)
4.把主目录的“串口工具.exe"名字改成任何你想要的名字。(要改图标的话,建议下载我的Loader源程序,修改后重新编译)
大功告成,拿到一台没装.net的电脑上试试吧。祝好运。
相关下载:
Loader程序源代码
http://files.cnblogs.com/zhouyabo/vmloader.rar
测试程序
http://files.cnblogs.com/zhouyabo/fw_vm_test.rar
分享到:
相关推荐
使用.net开发的程序在发行的时候要装.net framework,很麻烦,用它可以让你不用安装.net framework
1.首先按照本书第1章中介绍的方法安装与配置IIS和.NET Framework1.1。 2.本书的源代码一般分章依次存放,01目录下存放第一章所有源程序,以此类推。 3.IIS和.NET Framework1.1安装完毕后,将自动生成 \Inetpub\...
Microsoft .NET Framework 4(独立安装程序)
一个在没有安装.netframework的情况下使用虚拟机运行.net程序的示例.
.net4.0安装程序.net framework 4.0安装包下载dotNetFx40_Full_x86_x64.exe
使.net程序脱离framework 环境运行
在APP文件夹下有一个名为9527.exe的程序,这个是C#真正的“串口工具.exe”,而主目录下的串口工具.exe只是一个Loader程序,它运行后首先判断电脑上有没有安装framework,若有,则直接启动APP下的9527.exe程序;...
为了让.Net程序脱离.Net Framework框架运行我试了很多方法,网上说的基本都试过了,最效果都不太理想,最后我还是选择了现在比较流行的软件飞信中带的VMDotNet,也就是所谓的.NET FRAMEWORK虚拟机吧。相信有很多人也...
不需要安装framework就可以直接运行程序,简单好用的工具
DotNetBox不装FrameWork运行.NET程序.Net.rarDotNetBox不装FrameWork运行.NET程序.Net.rar
.net framework一键安装工具(自动修复无法安装问题) 所有操作系统(win7/win8/win10...)
在windows server上安装.net framework 3.5方法
Microsoft .NET Framework 4.6(脱机安装程序)直接可以进行安装,;Microsoft .NET Framework 4.6(脱机安装程序)
微软官方.NET修复工具Microsoft .Net Framework Repair Tool
.Net 脱离.Net framework 最好方法
Microsoft .NET Framework 4.5安装程序
但最近有一台电脑,.NET Framework 4.0死活安装不上(可能是以前不完整安装造成的),想把Framework卸载了重新安装,结果系统自带的卸载工具还卸载不了,甚是头疼,后来找到这款专业的.net framework卸载工具:clean...
Microsoft .NET Framework 4.8 脱机安装程序包_x86_x64
.net framework源代码剖析,附件包括system命名空间下微软公开的所有源代码信息,供大家研究,学习
Microsoft .NET Framework 3.0 版(离线安装) XP安装