|
4.观察安装和反安装文件
一般软件安装后都会在安装文件夹中生成安装文件(如Install.log)和卸载文件(如Unins000.dat)。里面记载着创建的目录、复制的文件、在注册表中创建的键值等信息,可以用纯文本编辑器打开、查看这些文件(如图2)。查看这些文件可以理解反安装过程,最后根据反安装的信息制作绿色软件。个别情况下这个文件完全不包含可读信息,就只好换用其他方法了。

5.比较系统快照
当前面的方法都失败的时候,可以试一试这个方法。具体思路就是在安装软件之前,把系统的状态记录下来,主要包括注册表和系统目录的所有文件状态。接下来就是安装软件,安装完成后,再一次记录系统状态。最后就是比较前后两个系统状态的不同,即可得知安装程序所做的工作。
这些工作可以由专门的软件完成,如免费工具Regshot(比较注册表变化),免费工具InCtrl5(监视软件安装会对系统造成的影响,包括注册表、INI文件、指定文件、指定文件夹、驱动器等),微软的Sysdiff工具(包含在Windows 2000的Resource Kit中,用来查看安装应用程序前后注册表和硬盘上文件的变化),或者WinInstall LE(在Windows 2000 Server安装光盘Valueadd\3rdparty\Mgmt\Winstle\中)。
系统前后的差异分为文件部分和注册表部分。文件部分指的是向系统目录拷贝的文件,以及作为COM组件注册的文件,还有与这些文件相关的注册表部分,注册表部分单单指其余的注册表的变化。对于文件部分,可以进一步区分出必须要往系统目录拷贝的文件(这种情况是少数)和放在软件安装目录的文件。对于注册表部分,区分出由这个软件的安装程序本身所作出的注册表操作和注册COM组件时候的注册表操作。
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组件、安装服务驱动等操作步骤,但是把这些步骤明显分割出来有助于制作绿色安装的软件。
以上所列绿化软件的六种方法,由易到难,有时可能需要几个方法联合使用。绿化软件没有一条终南捷径,需要不断地分析和测试,测试时,最好能到全新的系统中或别的电脑中跨平台进行。这里需要说明的是,无论使用什么方法,都是模拟软件的安装过程,所以原作者最容易给出该软件的绿色版本。
共4页: 上一页 [1] 2 [3] [4] 下一页
|