绿色软件的“绿化”方法

绿色软件的“绿化”方法 

下面讲一下绿色软件的制作,简称软件的“绿化”,绿色软件的制作实际上就是我们自己完成安装程序的工作。没有什么固定的方法,基本上是猜测加上试验,不同类别的绿色软件分别有不同的制作策略。 

拿到一个新的软件,想要制成绿色软件的话,一般遵循如下步骤: 
1 判断。就是指猜测这个软件能不能制成绿色软件,从功能,从你对它的了解,如果你觉得这个软件和系统的关系非常紧密,就不要继续下去了,还是用原始的安装程序最保险最方便,这样的例子有directx9 ,IE6,Norton的反病毒软件等等。这样的判断可以节省你的时间,当然你可以忽略这一步,尝试制作绿色软件,那么就转到第2步。 
2“绿化”。对于不同的软件有不同的方法,没有一定的规则,但是总的来说,就是理解软件的安装过程,转换为绿色安装,在这个过程中,可能需要尝试多个方法,也可能最后由于软件的复杂性或者某些特性,导致无法绿化。要有失败的思想准备,具体的绿化方法随后讲述。 
3 测试。”绿化“后的测试最好到你个全新安装的操作系统中测试,而且如果你要在多个操作系统中使用这个软件的话,还要在其他的操作系统中测试,有的软件的文件随着操作系统的不同而不同,这个时候你需要在不同的操作系统中进行”绿化“过程,最后综合为一个完整的适应多个操作平台的绿色软件。 

“绿化”方法,需要根据经验选择不同的“绿化”方法,也可能需要不断尝试不同的方法,直到成功为止。按照先易后难的次序,具体的方法包括: 
1 解压缩。这是最简单的一种方法,就是指尝试能不能直接解开软件的压缩包。用Winzip和Winrar试一试,看看能不能直接打开压缩的安装文件,如果不能打开,那么就换别的方法。如果可以,那么恭喜,这个软件多半是属于绿色安装的软件(有个别例外,如EmEditor),把压缩包中的文件直接解压到目标路径,然后测试软件的功能是否正常,如果功能正常,那么“绿化”就成功了,如果使用不正常,那么就换别的方法。这一类软件的特点是安装程序的工作完全可以由软件自身来完成。 
2 安装然后卸载。也是比较容易的方法,完全是体力劳动,就是指直接安装这个软件,然后把程序复制出来,最后卸载安装程序。如果这个软件的安装程序的作用仅仅是复制文件和生成快捷键等工作,那么就属于绿色安装,可以使用这个方法。最后测试软件的功能是否正常,如果功能正常,那么“绿化”就成功了,如果使用不正常,那么就换别的方法。 
3 反编译安装程序。这个方法需要动脑筋,就是根据安装程序所用的制作工具,选择相应的反编译程序,然后阅读反编译出的安装脚本,制作绿色软件。目前的软件大多使用专门的安装工具制作,如InstallShield,Wise,Inno Setup,Windows Installer,NSIS(Nullsoft),Installer VISE,其中Windows Installer格式的安装文件(就是MSI,MST为后缀的文件),可以通过微软的免费工具Orca打开查看,InstallShield格式的安装文件也有很多免费的工具可以解压缩和查看脚本。当然专门的安装工具很多,有许多安装程序没有相应的反编译程序,这种时候,就无法使用这个方法了。 
4 观察反安装程序和log文件。现在的软件安装完成后绝大多数都带有卸载方法。卸载是安装的逆过程,如果知道怎么卸载,那么也可以推测出如何安装。由专门的安装工具制作的反安装程序,一般都是根据某一个文件中的信息来卸载的,可以用一个纯文本的编辑器打开这个文件。个别情况下这个文件完全不包含可读信息,就只好换用其他方法了。具体过程就是先采用方法2,然后理解反安装过程,最后根据反安装的信息制作绿色软件。 
5 比较系统快照。当前面的方法都失败的时候,可以试一试这个方法。具体思路就是首先在安装软件之前,把系统的状态记录下来,主要包括注册表系统目录的所有的文件状态。然后就是安装软件。安装完成后,再一次记录系统状态。最后就是比较前后两个系统状态的不同,而得知安装程序所做的工作。这个工作一般由专门的软件完成,ha_TotalUninstall,如免费工具Regshot,免费工具inctrl5(http://www.pcmag.com/article2/0,4149,9882,00.asp),微软公司的sysdiff工具(可以从Windows2000的资源工具箱中得到),或者WinInstall LE(在Windows 2000 Sever 光盘的目录VALUEADD/3RDPARTY/MGMT/WINSTLE/中)。在多数时候,仅仅需要对比安装前后注册表的不同,这时候还有大量的注册表工具可以选用。在得出系统差异后,把差异分解为两个部分:文件部分和注册表部分。文件部分指的是向系统目录拷贝的文件,以及作为COM组件注册的文件,还有与这些文件相关的注册表部分。注册表部分单单指其余的注册表的变化。对于文件部分,可以进一步区分出必须要往系统目录拷贝的文件(这种情况是少数)和可以放在软件的安装目录的文件。对于注册表部分,区分出由这个软件的安装程序本身所作出的注册表操作和注册COM组件时候的注册表操作,抛弃其他程序(如资源管理器Explorer)的操作。根据所有这些,写一个拷贝文件,注册COM组件和导入注册表的批处理文件,就可以完成绿色软件的制作了。当注册表文件中含有路径信息的时候,可以手工修改注册表文件或者把注册表文件转化为INF文件从而实现全自动的路径处理。 
6 直接导出注册表,寻找自注册的COM组件。这个方法是上面的方法5的简化版,现在软件的配置大多写在注册表中的“HKEY_LOCLAL_MACHINE/SOFTWARE/软件公司名字”和“HKEY_CURRENT_USER/SOFTWARE/软件公司名字”这2个键下面,直接对把这2个注册表键导出到REG文件中。自注册的COM组件都需要导出如下4个函数:DllCanUnloadNow,DllGetClassObject,DllRegisterServer, DllUnregisterServer,可以用vc自带的depend.exe找出哪一个动态链接库是自注册的COM组件。最后写一个批处理文件用regsvr32.exe注册COM组件和用regedit.exe导入注册表。 
通过上面分析安装程序的动作,把安装程序的工作分解为复制文件注册COM组件,安装服务驱动注册表配置等几个部分,虽然注册表配置可以覆盖注册COM组件,安装服务驱动等操作步骤,但是把这些明显分割出来有助于制作绿色安装的软件。对于需要更复杂的步骤来安装的软件,还是使用原来的安装程序比较保险。
软件绿化的意义   第一:节省安装时间   有好多软件安装时间相当长,我安装过不少时间在八分钟甚至更多的,尤其是大型的软件,在安装的 时候总是先解压文件,换句话说,就是要释放许多东西到系统的临时文件佳里,再换句话说就是拷贝好多 临时文件先到系统里,这总浪费时间吧?然后在安装结束之后还要去删除这些文件,这又要浪费时间吧? 而我把他做成绿化版之后,解压绿化一般也就1到2分钟。   第二:减小体积   从我的经验来看,一般绿化后重新打包的体积都比原安装版要小,大多数并减小不很多,但是也有比 较厉害的,我记得我曾经绿化过几个大块头的软件,最多的时候曾经从500M多减小到100M多(当然,可能 是删除了不少东西所导致,那是因为我觉得帮助文件一般无用,尤其是那些国外软件以及多国语言版本的 ,举个例子来说,我家的打印机是惠普1020的,驱动程序是一张光碟,体积为400m多,具体多少记不得了 ,有天打印机坏掉,光驱也坏掉,所以无法安装,于是上网去下了一个,发现有精简版的驱动,才20m多, 于是下载安装,发现可以,后来我又发现其中还是有很多无用的东西,如上所说的那些,于是进一步做了 精简,最后打包的体积为2.58m,并且经过我重装系统的检测,完全正常,由400m多,减小到2.58m,携带 传播的方便,安装时间的减少,以及安装后所占空间的减少,都充分说明了绿化在节省体积方面的巨大作 用)。   第三:节省安装后所占空间   有不少软件有这么个习惯,就是会在系统复制一个备份,这也就是一些软件具有修复功能的原因了, 其实他就相当于重新覆盖安装,只不过不需要你原来的安装文件了,这当然占体积,所以绿化可以节省这 些空间。    第四:加速系统运行   注册表的臃肿很大程度上影响系统运行速度,有许多软件安装的时候会写很多注册表项,但是其实多 数时候并非每个都是必须的,我经常碰到导出的注册表体积有1到2M的,很恐怖吧,但是精简之后(当然不 是以损失功能为代价的。具体哪些可以精简,哪些不可以,这些主要靠经验,其次靠试验),有的甚至完 全都可以抛弃注册表文件,有的减少到屈指可数的几项,总之都能减小一些。     第五:有相当多的程序安装过程需要重新启动,很烦人,但是绿化有可能(这个不一定了)变必须启 动为绿化之后即可用。   第六:方便使用   尤其是破解还有汉化的程序,通常的过程是先安装原版,然后打汉化或者破解补丁,又麻烦了,尤其 对那些非常菜的电脑小菜来说,他都不知道怎么打补丁,绿化过程可以把这些步骤都节省掉,当汉化补丁 和破解补丁体积不小的时候,通过绿化过程同时也减小了体积。   第七:优化的方面:   大多数软件都有.inf等类似的配置文件,里面包含着所需要的参数,参数的设置对于结果有影响,而 程序安装后的默认参数一般并非就是最优参数,所以,绿化过程也可以将这些参数调整之后打包,这样用 的人就不需要再都手动调整,尤其方便那些不大会的人。   第八:绿化中的汉化效果   这里又分两种情况,一种其实可以包括在第七条里的,但是另一种则不包括,所以还是独立出来说了 。   有些软件是多国语言,其中包含中文,但是安装之后首先显示的并非是中文,简单点还好说,复杂点 的英语比较好的也许也要找一会才能设置成中文,更不要说英语烂的和小菜了,所以在绿化过程中将这个 语言选项设置好之后,用户可以不必再去费力的设置了,这是可以包括在第七条里的一种情况。   另一种情况是,哪怕你如此设置了,换台电脑他还是先显示的不是中文语言,我一般的做法是,打开 语言文件夹,想将除了中文和默认语言之外的所有语言删除再说(嘿嘿,知道了吧,好多体积就是这样节 省出来的),然后复制默认语言文件的名字,这个时候删除此语言文件,然后把中文文件改成那个默认语 言文件的名字,ok,达到到哪都可以直接显示中文的效果了。   第九:去除垃圾,捆绑的垃圾插件,病毒等等,很是讨厌,绿化可以去除它们。   第十:略微说一点有点跑题又跑的不远的东西,网络上有些比如说msnn绿色精简版,不精简功能也许 你绿化的成,但是如果精简功能之后你照常规的绿化方法却无论如何总是出错,就是绿化不成,这个方法 涉及到程序的修改,比较简单的一种做法就是拿exetools等资源修改工具,哪个地方出错,就把哪个模块 去掉,直到全无错误,打包,这个绿色精简版就面世了。   第十一:免注册功能   现在有些软件越做越不地道了,注册码长的都不的了。光长还好说,反正也就是一下子复制,它还偏 偏分好几段,一次无法粘贴完,也许你说你有序列号输入工具,可以一键输入,但是第一,不见得人人都 有这个工具,第二,你是不是还需要去启动那个工具呢?费事吧?我的经验是,用注册表工具监测,然后 注册成功后导出注册表,之后可以把注册表文件并到绿化过程里,这样随着绿化就一并注册了,是不是更 省事呢?此法对那些不依赖硬件标志的注册类有效,而这类软件为大多数。   第十二:其实这个应该是绿化优点的第一条,可惜我到现在才想起来,正如我做题的习惯,先把大题干 掉,然后才想起来做那最简单的,就是移动方便,如果需要移动地方,不需要再花费相当多的时候重新安 装,一般来说只需要把绿化脚本重新运行一编就可以了,省事好多。
当安装的东西越多,日积月累之后,Windows 就会运行得越来越慢,于是网络上绿色软件 (便携版软件) 特别的受欢迎。可是很多时候,在一些网站上下载的绿色软件会被偷偷加了病毒或木马,又或者自己需要的软件根本找不到绿色版。以前据说会制作绿色软件的都是高手,但如果我们也能不用学习技术,轻松方便地制作绿色版软件那么就太好了。今天介绍的 Cameyo 正是一款免费且神奇的应用程序虚拟化工具,通俗来说就是 单文件软件制作工具 或是 软件绿化工具…… Cameyo 简单使用教程: 1、因为绿化的过程中,Cameyo 需要记录下软件安装执行时的操作,所以建议绿化的电脑系统越简单越少东西越好,而且在绿化的过程中尽量不要执行其他程序,这样可以大大降低绿化的失败率。 2、如果你希望绿化后的软件在XP下使用,那么制作时最好也是使用XP系统,Win7 同理。 3、准备好软件的安装包,然后运行 Cameyo,如上面的“主界面截图”,选择“Capture installation”按钮。 4、等待 Cameyo 开始扫描你当前系统的状态 5、当 Cameyo 扫描完你当前的系统后,会出现下面的提示。这时注意就别随便操作电脑了,以最少的操作开始安装你的想要“绿化”的软件了。当你的软件安装完后,点击图中的“Install done”按钮即可。这时,Cameyo 会再次扫描你的系统状态,然后与安全前的状态进行对比并分析差异。 6、等待一下,Cameyo 就会根据分析的结果自动为你生成“绿色版”的单文件程序了!至此,我们就搞定了一款绿色软件了。看,人家轻松地制作了N款绿色软件了! 7、Cameyo 拥有一个独特的算法来猜测你要绿化的应用程序的快捷方式、图标、名称等。你也可以按照自己的需要自定义这些信息,甚至为你的绿色软件增加“密码启动”等丰富的功能!当然,更多的使用方法与技巧就留待你自己探索吧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值