Danisの一棵树的软件历程

记录我们的时代~Danis

fsc2988877ID:fsc2988877
65251次访问,排名1509好友1人,关注者2
[加为好友] [即时聊天] [发私信]
fsc2988877的文章
原创 137 篇
翻译 0 篇
转载 46 篇
评论 30 篇
阿超的公告
大家多多支持我哦,常回来看看!
最近评论
hetaoqq:f
vvukqr:WoW Gold
vvukqr:WoW Gold
BPQ911:啥也不说了,好同志!THX!!!!
IBM___:原作者文章:http://www.lcfish.com/showtopic-158.aspx
文章分类
收藏
相册
我的相册
我的学习站点
(阿超记)ChinaWash 专栏
(阿超记)一个很爽的API查询库!(RSS)
(阿超记)中国游戏开发者联盟
CodeProject(RSS)
IE_activeX插件的制作
Kendiv博客(RSS)
MSDN(中文)(RSS)
MYIM客户端软件v1.0 (RSS)
TCTIP协议分析(RSS)
usb驱动程序(推荐)
VC在线>>读书笔记(RSS)
VC开发指南(RSS)
VC知识库(RSS)
WTL学习笔记(RSS)
软件架构-信息技术论坛
阿蒙之家(RSS)
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

转载 使.Net程序在未安装framework的电脑上运行(公布方法、源代码) 收藏

 | 旧一篇: 单例模式SingleTon例子的理解!

    从四年前刚学C#时就一直想找到一种方法可以让.Net程序在未安装framework的电脑上运行,但一直没有找到真正可用的。虽然有些公司发布了可以将.net代码编译成navtive代码以脱离.net环境运行,如Remotesoft DOTNET Linker,Xenocode Postbuild等,但一直没有破解版,用它们编译的程序每次运行会添出个版权信息。最近偶然发现一种方法可以做到真正使程序脱离.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程序源代码
 

发表于 @ 2007年08月25日 18:10:00|评论(loading...)|编辑

 | 旧一篇: 单例模式SingleTon例子的理解!

评论

#xiaoyisi 发表于2007-11-08 21:15:00  IP: 222.84.31.*
阿超同志,你的程序我编译通不过啊,老出现一个错误:
VMLoader.exe - 1 error(s), 0 warning(s)
我用VC++打开VMLoader.dsw,然后点“组建”,就出现这个错误了。
或者
我打开VMLoader.cpp,点编译也是出现这个错误啊,到底是什么问题啊,还望阿超指教。
#xiaoyisi 发表于2007-11-08 21:21:48  IP: 222.84.31.*
阿超同志,你的程序我编译通不过啊,老出现一个错误:
VMLoader.exe - 1 error(s), 0 warning(s)
我用VC++打开VMLoader.dsw,然后点“组建”,就出现这个错误了。
或者
我打开VMLoader.cpp,点编译也是出现这个错误啊,到底是什么问题啊,还望阿超指教。
#IBM___ 发表于2008-01-04 12:33:49  IP: 125.77.221.*
原作者文章:http://www.lcfish.com/showtopic-158.aspx
#BPQ911 发表于2008-01-18 17:56:33  IP: 218.241.130.*
啥也不说了,好同志!THX!!!!
发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © 阿超