用C#写桌面程序最麻烦的就是如何让XP用户正常运行。为了让他们能运行,往往需要额外包含个.net framework运行框架进去,那一下子程序就大了100+MB……

由于最近别人用C#写了个很简单的应用程序,但是用户又要求做到一个绿色的执行文件就可以运行。所以包含框架安装包这种事情当然就不好搞啦,所以就只好土法炮制,拿我们手头上很常见的软件来炮制了个绿色可执行软件了。

需要用到的软件:WinRAR、飞信

制作过程:
假设你的软件的资源全部在d:\path\里面,执行文件是run.exe。
1、进入飞信的安装目录,拷贝VMDotNet\v2.0.50727的所有文件到d:\path\(其实路径都是随便的啦)
2、尝试用“FetionVM.exe run.exe”这样的方式来执行你的程序。估计会很大几率没反应@_@。然后观察目录下的VMDotNet.log,里面类似System.IO.FileNotFoundException: File name: 'System.Windows.Forms, Version=2.0.0.0... 的“System.Windows.Forms”,就说明你需要到Windows\Microsoft.NET\Framework\v2.0.50727里面找相应的System.Windows.Forms.dll来拷贝到d:\path\System里面。
3、尝试能成功运行后。使用Winrar对全部东西打包。然后选择“创建自解压格式压缩文件”,在“高级”-“自解压选项"里,”常规“填入刚才执行的语句”FetionVM.exe run.exe“,模式里选择”解包到临时文件夹“,安静模式选择”全部隐藏“,在”文本和图标“-”从文件加载自解压文件图标“里面,修改图标(不然一看就是个解压文件,很不像一个可执行文件嘛)
4、应该就可以了。反正方法超级山寨,但是对于简单应用绰绰有余了。生成出来的会白白多出大概10MB左右。不过现在网络这么发达,多这么点东西应该都不是什么问题啦。

测试在干净的xp和win7下有效。