答案:有些软件,在安装过程中会向系统中拷贝一些动态链接库文件(*.DLL),但软件程序本身对这些动态链接库文件的路径要求不很严格,程序在运行过程中会自动搜索如下目录:WIN9X系统:
软件所在目录\
windows\
windows\system\WINNT/2000/XP系统:
软件所在目录\
WINNT\
WINNT\system\
WINNT\system32\
WINNT\system32\WBem\这样,只要软件在上面目录中搜索到这些链接库文件,就能正常运行,于是,为我们制作绿色软件提供了方便:我们可以把这些文件拷贝到软件目录中,备份了这个软件目录,就成为绿色版了。这种方法暂时我们叫它“移花接木法”。
如何判断软件是否属于上述类型呢,你可以做个试验,当把其中一个必须的 .DLL 文件移开时,软件运行时会有类似下面的提示:
那么,这个 DLL 文件就可以采取“移花接木法”了。
制作实例:Microsoft Excel 97 纯绿色版的制作过程
一、进入一个纯净的 WINDOWS 98 SE 系统,我的WIN98是安装在D盘里的;
二、用文件跟踪软件(这类软件很多,推荐用 Uninstall Manager 4.2)为D盘建立一个快照;
三、用注册表跟踪软件(这类软件也很多,推荐用 RegSnap 3.0)为系统注册表建立第一个快照,保存为:EXCEL01.RGS
[page_break]四、启动 OFFICE97 的安装程序,选择最简安装 EXCEL 97,注意,把安装目录安装到系统所在分区以外的分区里,这样有利于对系统文件变化的跟踪分析,本例中,我安装到“C:\EXCEL97”目录里。
安装目录里的文件共 5个目录48个文件14.2M:
file://C:\excel97 (3 folders, 4 files, 890 bytes, 14.21 MB in total.)
│MSCREATE.DIR 0 bytes
│Microsoft Excel.lnk 306 bytes
│Microsoft Office 中文版安装程序.lnk 358 bytes
│OF97SPEC.INI 226 bytes
├─Clipart (0 folders, 2 files, 275 bytes, 275 bytes in total.)
│MSCREATE.DIR 0 bytes
│Clipart on Office CD.lnk 275 bytes
├─Office (2 folders, 31 files, 13.60 MB, 14.21 MB in total.)
││MSCREATE.DIR 0 bytes
││EULA8.CNT 195 bytes
││EULA8.HLP 28.95 KB
││EXCEL.EXE 5.51 MB
││EXCEL8.OLB 571.00 KB
││EXCEL8.SRG 36.47 KB
││HLINK.SRG 457 bytes
││MISC.SRG 5.31 KB
││MRT7CHS.DLL 1.18 MB
││MSO7CHS.DLL 1.18 MB
││MSO7FTP.EXE 3.00 KB
││MSO7FTPA.EXE 3.00 KB
││MSO7FTPS.EXE 3.00 KB
││MSO97.DLL 3.60 MB
││MSO97FX.DLL 8.77 KB
││MSOC.DLL 84.00 KB
││MSOFFICE.SRG 1.17 KB
││MSROUTE.DLL 67.00 KB
││OSA.EXE 50.77 KB
││OSAINTL.DLL 6.27 KB
││PSS8.CNT 561 bytes
││PSS8.HLP 30.60 KB
││SCANLOAD.DLL 12.00 KB
││XL5CHS32.OLB 236.00 KB
││XL5EN32.OLB 223.50 KB
││XL8409.DLL 23.50 KB
││XL8804.DLL 44.50 KB
││XL8GALRY.XLS 172.00 KB
││XLCALL32.DLL 5.00 KB
││XLINTL32.DLL 554.50 KB
││XLREAD8.TXT 20.56 KB
│├─Setup (0 folders, 5 files, 621.46 KB, 621.46 KB in total.)
││MSCREATE.DIR 0 bytes
││ACME.EXE 72.02 KB
││ACME.LST 2.33 KB
││OFF97INV.DLL 93.00 KB
││Off97Pro.STF 454.11 KB
│└─XLStart (0 folders, 1 files, 0 bytes, 0 bytes in total.)
│MSCREATE.DIR 0 bytes
└─Queries (0 folders, 5 files, 370 bytes, 370 bytes in total.)
MSCREATE.DIR 0 bytes
Detailed Stock Quote by PC Quote, Inc.iqy 102 bytes
Dow Jones Stocks by PC Quote, Inc.iqy 70 bytes
Get More Web Queries.iqy 92 bytes
Multiple Stock Quotes by PC Quote, Inc.iqy 106 bytes五、用 Uninstall Manager 4.2 扫描 D 盘文件的变化,发现 D 盘多了如下目录和文件:
- Uninstall Manager 导出文件 -
WININIT.INI D:\WINDOWS\ 1KB 配置设置 04-12-15 0:53:24
REFEDIT.DLL D:\WINDOWS\SYSTEM\ 61KB 应用程序扩展 97-4-1
XLREC.DLL D:\WINDOWS\SYSTEM\ 31KB 应用程序扩展 97-4-1
RECNCL.DLL D:\WINDOWS\SYSTEM\ 25KB 应用程序扩展 97-4-1
SELFREG.DLL D:\WINDOWS\SYSTEM\ 31KB 应用程序扩展 97-4-1
VBAEN32.OLB D:\WINDOWS\SYSTEM\ 24KB OLB 文件 97-4-1
VBAEND32.OLB D:\WINDOWS\SYSTEM\ 24KB OLB 文件 97-4-1
VBACHS32.OLB D:\WINDOWS\SYSTEM\ 23KB OLB 文件 97-4-1
SCP32.DLL D:\WINDOWS\SYSTEM\ 15KB 应用程序扩展 97-4-1
REGSNAP.LGE D:\WINDOWS\APPLOG\ 2KB LGE 文件 04-12-15 0:51:40
REGSNAP.LGD D:\WINDOWS\APPLOG\ 4KB LGD 文件 04-12-15 0:51:40
EXCEL8.XLS D:\WINDOWS\SHELLNEW\ 13KB Microsoft Excel 工作表 97-4-1
安装 Microsoft Internet Explorer 3.01.lnk D:\WINDOWS\DESKTOP\ 1KB 快捷方式 04-12-15 0:57:34
安装 IME96.lnk D:\WINDOWS\DESKTOP\ 1KB 快捷方式 04-12-15 0:57:34
新建 Office 文档.lnk D:\WINDOWS\START MENU\ 1KB 快捷方式 04-12-15 0:57:34
打开 Office 文档.lnk D:\WINDOWS\START MENU\ 1KB 快捷方式 04-12-15 0:57:34
Microsoft Excel.lnk D:\WINDOWS\START MENU\PROGRAMS\ 1KB 快捷方式 04-12-15 0:57:34
Office 启动.lnk D:\WINDOWS\START MENU\PROGRAMS\启动\ 1KB 快捷方式 04-12-15 0:57:34
VBA332.DLL D:\PROGRAM FILES\COMMON FILES\MICROSOFT SHARED\VBA\ 1559KB 应用程序扩展 97-4-1
VBACV10.DLL D:\PROGRAM FILES\COMMON FILES\MICROSOFT SHARED\VBA\ 429KB 应用程序扩展 97-4-1
VBACV20.DLL D:\PROGRAM FILES\COMMON FILES\MICROSOFT SHARED\VBA\ 998KB 应用程序扩展 97-4-1
VBACV10D.DLL D:\PROGRAM FILES\COMMON FILES\MICROSOFT SHARED\VBA\ 435KB 应用程序扩展 97-4-1
VBE.DLL D:\PROGRAM FILES\COMMON FILES\MICROSOFT SHARED\VBA\ 727KB 应用程序扩展 97-4-1
VBA3CHS.DLL D:\PROGRAM FILES\COMMON FILES\MICROSOFT SHARED\VBA\ 142KB 应用程序扩展 97-4-1
VBEEXT1.OLB D:\PROGRAM FILES\COMMON FILES\MICROSOFT SHARED\VBA\ 31KB OLB 文件 97-4-1六、用 RegSnap 3.0 为注册表建立第二个快照,保存为:EXCEL02.RGS,用注册表比较功能,对 EXCEL02.RGS 和 EXCEL01.RGS 进行比较,并用“生成注册表文件”功能生成 EXCEL01-EXCEL02Redo.reg 文件备用;
七、开始进入绿化试验:软件能绿化到那种程度,就看你的运气了。如果程序不依赖注册表的话,就有做成纯绿版的希望,如果要依赖注册表的话,就作多只能做成绿色版或绿化版了。
1、再次将 WIN98 整理到纯净状态(如何快速整理纯净的系统试验环境,请参考稍后编写的《绿色系统方案》系列文章)。
2、进入 C:\excel97\Office 目录,启动 EXCEL.EXE,结果跳出一个这样的对话框,关闭这个对话框后,发现程序可以正常使用。
3、将 EXCEL01-EXCEL02Redo.reg (共 377K 之大,好可怕啊),导入注册表,结果程序正常运行,没了这个对话框,但把安装目录改名或移动到其他地方后,那个讨厌的对话框又跑出来了,看来不单单是注册表问题。
4、分析一下,软件安装时,向系统增加了如下关键性文件:REFEDIT.DLL D:\WINDOWS\SYSTEM\ 61KB 应用程序扩展 97-4-1
XLREC.DLL D:\WINDOWS\SYSTEM\ 31KB 应用程序扩展 97-4-1
RECNCL.DLL D:\WINDOWS\SYSTEM\ 25KB 应用程序扩展 97-4-1
SELFREG.DLL D:\WINDOWS\SYSTEM\ 31KB 应用程序扩展 97-4-1
VBAEN32.OLB D:\WINDOWS\SYSTEM\ 24KB OLB 文件 97-4-1
VBAEND32.OLB D:\WINDOWS\SYSTEM\ 24KB OLB 文件 97-4-1
VBACHS32.OLB D:\WINDOWS\SYSTEM\ 23KB OLB 文件 97-4-1
SCP32.DLL D:\WINDOWS\SYSTEM\ 15KB 应用程序扩展 97-4-1VBA332.DLL D:\PROGRAM FILES\COMMON FILES\MICROSOFT SHARED\VBA\ 1559KB 应用程序扩展 97-4-1
VBACV10.DLL D:\PROGRAM FILES\COMMON FILES\MICROSOFT SHARED\VBA\ 429KB 应用程序扩展 97-4-1
VBACV20.DLL D:\PROGRAM FILES\COMMON FILES\MICROSOFT SHARED\VBA\ 998KB 应用程序扩展 97-4-1
VBACV10D.DLL D:\PROGRAM FILES\COMMON FILES\MICROSOFT SHARED\VBA\ 435KB 应用程序扩展 97-4-1
VBE.DLL D:\PROGRAM FILES\COMMON FILES\MICROSOFT SHARED\VBA\ 727KB 应用程序扩展 97-4-1
VBA3CHS.DLL D:\PROGRAM FILES\COMMON FILES\MICROSOFT SHARED\VBA\ 142KB 应用程序扩展 97-4-1
VBEEXT1.OLB D:\PROGRAM FILES\COMMON FILES\MICROSOFT SHARED\VBA\ 31KB OLB 文件 97-4-1于是,尝试用“移花接木法”,将这些文件移动到 C:\excel97\Office 目录中,结果,EXCEL 正常运行了。
5、进一步试验,把系统注册表恢复到原始状态,再次运行 EXCEL,奇迹出来了:EXCEL 居然也能正常运行,也就是说,不依赖 377K 注册表备份 EXCEL01-EXCEL02Redo.reg 也正常运行了,于是,把 C:\excel97\Office 这个目录拷贝出来,一个原始的纯绿版就这样诞生了。
6、接下来的工作,就是把里面的文件精简一下,去掉一些不必要的文件,打造成精简版。
做绿色软件试验是一件痛苦的差事,你要有足够的耐心才行喔,当然一旦完成了任务,又是一件一劳永逸的好事。
OK,写到这里,大家应该来作个作业了,请你用“移花接木法”为 “Turbo Photo 4.0” 做个纯绿版吧:Turbo Photo 4.0原版下载:
上一个:鼠标右键菜单的订制技巧
下一个:超级解霸2000另类小技巧