如何制作绿色软件(以Navicat为例)

现在什么都流行绿色,不仅包括食品,也包括计算机软件。超市中的食品只要沾上“绿色”两个字,价格嗖的一下子就上去了,那叫一个高啊!而绿色软件,相比之下就不很相同了,因为大多绿色软件都是免费的,相同的一点就是他们都很受欢迎。

绿色软件有什么好处呢?

第一,它不会在你不知情的情况下,往你系统里装你不想装的东西。反过来讲就是所谓的流氓软件了,流氓软件的存在无疑是帮了它们一个大忙,让人们很容易的就接受了绿色软件。

第二,它可以在重装系统后,无需任何安装操作即可重新使用(当然这里是说它不与系统装一个盘),这对经常装系统又不喜欢用GHOST盘的人有很大好处;

第三,可以做成绿色软件的大多是免费软件。当然,这里也可能包含部分破解软件。

我想这些好处也是它之所以会存在的原因。我们认为:软件应可免费取得,软件工具在各种语言环境

下皆可使用,且不会有任何功能上的差异;人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。(注:最后这句话出自Ubuntu中文论坛 )

那这些东西怎么做出来的呢?

下面以Navicat 8.2(一款强大的MySQL管理工具)为例简单说下绿色软件的做法。这里需要你准备下面几个东西:

  • 一个干净的操作系统。所谓干净就是除了系统驱动,基本没装任何其它软件。

  • Filemon 一个系统文件读写监视工具。

  • Editplus 一个比记事本强大的文本编辑器。

  • Regmon 一个系统注册表读写监视工具。这里用不到它,但你也可以去了解下。

首先安装Navicat 8.20原程序(Navicat 中文网站 ),然后把安装好的Navicat 8.20文件夹复制一份到另外的位置“D:GreenNavicat 8.0 MySQL”,后面把这个位置成为绿色软件目录。这个时候我们就得到了一份相对安装文件绿色的软件目录,点击主程序,可以正常使用。别高兴太早,因为但它在其他没有安装过它的系统里,并不一定可以用。那么后面我们就要解决它为什么不可以用。

然后把这个绿色文件夹放到其它比目前更干净的系统中,后面的测试都要在这个系统中进行。打开Filemon程序,并设置过滤关键字为 “navicat”,如下图:

点击OK以后文件读写监视程序开始运行。然后手动去绿色软件目录运行navicat.exe程序,直到它出现下面的错误提示。如果你的系统没有提示,说明你的系统不够干净。

然后保存Filemon监视程序的日志到Filemon.LOG文件,用Editplus打开这个文本文件(这个要求不是必须的,文件不很大的话,用记事本打开也行)。根据错误提示对话内容“Missing required library files. Application Terminate.”,我们可以了解是丢失了library链接库文件,一般这种文件在WINDOWS里都是用.DLL格式,所以这里我们搜索 “DLL NOT FOUND”关键字(注意:DLL与NOT FOUND之间是TAB,也就是所谓的换位符,不是空格,且必须设置为不区分大小写),很快我们找到下面几个结果(不包括重复的):

D:GreenNavicat 8.0 MySQLimm32.dll NOT FOUND
D:GreenNavicat 8.0 MySQLwinmm.dll NOT FOUND
D:GreenNavicat 8.0 MySQLLPK.DLL NOT FOUND
D:GreenNavicat 8.0 MySQLUSP10.dll NOT FOUND
D:GreenNavicat 8.0 MySQLnavicat.CHS.DLL NOT FOUND
D:GreenNavicat 8.0 MySQLnavicat.CH.DLL NOT FOUND
D:GreenNavicat 8.0 MySQLolepro32.dll NOT FOUND
D:GreenNavicat 8.0 MySQLlibmysql_c.dll NOT FOUND
C:WINDOWSsystem32libmysql_c.dll NOT FOUND
C:WINDOWSsystemlibmysql_c.dll NOT FOUND
C:WINDOWSlibmysql_c.dll NOT FOUND
C:WINDOWSSystem32Wbemlibmysql_c.dll NOT FOUND
D:GreenNavicat 8.0 MySQLmsimg32.dll NOT FOUND

这些文件都是丢失的吗?别那么早下结论。

因为系统有个环境变量概念,当某个位置找不到程序需要的文件时,程序会自动寻找其它环境变量标识的位置。所以后面我们要查找后来真正丢失的文件。

简单数了下,一共有九个文件。那么依次查找这九个文件,即“DLL文件名 SUCCESS”关键字,DLL文件名依次代表这九个文件的文件名称,中间仍然是TAB换位符。这次通过排除SUCCESS的文件,只剩下了三个没找到,

它们是分别是:libmysql_c.dll、navicat.CHS.DLL、navicat.CH.DLL这三个文件。其实通过上面的结果,有经验的人已经猜到这个丢失的文件是什么了,它就是“libmysql_c.dll”,而另外两个文件,通过查找的位置判断,是非必须文件或根本不存在的文件。

下面就简单了,把正常安装后的libmysql_c.dll文件复制一份到程序根目录,这个绿色软件就完成啦!最后就是测试了,把它COPY到不同环境的系统中测试,如果都没有问题,那么说明这个绿软做的比较成功。制作的过程,其实就是一个反复测试的过程,没什么技术含量。若想做所谓的注册破解版,那么就要用到上面提到的Regmon软件了。因为我个人不提倡使用破解软件,所以这里不作详细描述,有兴趣的人就自己去研究吧。

其它绿色软件的做法大同小异。希望我这篇简陋的文章可以起到抛砖引玉的作用,也希望能有更多的绿色软件制作者为我们广大网友提供服务。只要动手去做,你会发现其实这并不难!