|
前言:
图中收藏的几个键是制作绿软时常用的几个键,如果想查找哪个键就直接点击,省去了在左侧列表中查找的麻烦。其中clsid--1和3是指第一根键中的clsid和第三根键中的clsid,user是指第二根键,machine是第三根键,我里只是举个例子,大家可以根据自己的习惯命名。 其中00就是“我的电脑”,是注册表的全部信息,起名为00只是为了少打几个字,呵呵。01就是第一根键,01clsid就是第一根键中的clsid键。以此类推。
一般情况下,安装程序向系统文件夹写文件都写在windows或system文件夹中。上一节中猜测可能缺少文件程序才无法启动,现在试着把正常安装时,向系统中写入的文件提出来,放到新系统中测试一下,看看能否启动。那么应该如何把向系统中写入的文件单独提出来呢? 打开刚才更名为w的原来正常安装的系统,把里面的system文件夹复制一份(这是我的习惯,虽然它可能再不需要了,但还是要做好备份的,这样任何时候都可以返回原系统)。然后进入system,把里面的所有文件选中(不要选择文件夹),然后在它们上点右键,选择“剪切”,再粘贴到正常在使用的系统中的system中。由于两个文件夹的文件几乎一样,所以在粘贴以后系统会提示“此文件夹中已经有一个名为***的文件”询问是否替换, 这时按住键盘上的alt+N组合键,就可以跳过同名的文件。当然,两个文件夹中同名的文件有很多,一个一个的按是按不过来的,所以要按住alt+N键不放,这样就可以自动的跳过所有同名的文件,但是有时候遇到一些重要的系统文件时,系统会提示“无法替换***,指定的文件正被windows使用” 遇到这样的情况时,用鼠标点一下“确定”,然后再接着按alt+N跳过同名文件。通过这一步,就可以把两个文件夹中同名的文件留在原处,只把安装office的系统比正在使用的系统多出的文件移动到新系统 ,而这些多出的文件就是安装office时,向系统中添加的文件。下面打开office的安装目录,找至frontpg.exe,启动一下,程序可以正常启动,这就说明Front Page可以通过非正常安装来启动,可以制作出迷你版来。接下来的问题就是如何查出Front page究竟需要哪个文件。 上一步只把正常安装office时,向系统中写入的文件移动到新系统中,但是到底移动的是哪个文件,移动了多少个文件一点也不知道,下面就想办法把它查出来。你想一下,用什么方法可以查出来???呵呵,不要以为很困难,简单得要命。返回正常安装office的系统中的system文件夹,刚才不是把里面的文件剪切到新系统中了吗?这时把窗口移到最底部,然后在空白处点右键,选择“撤消移动”即可,(注意,在前面移动文件以后,只可以打开什么程序,尽量不要做“剪切”,“复制”一类的操作,要不然就不能用撤消了)
既然已经知道安装office时向系统写入了什么文件,那么在这些文件中查找出程序究竟需要哪个文件就太简单了。 把撤消回来的文件单独剪切到一个文件夹中,然后按类型排列图标。根据经验判断,程序需要的文件只是dll文件,所以先从dll文件下手。
2005-10-06 上面的操作中,把剪切的文件移动回原位置以后,再启动Front Page时程序就无法启动了,又提示需要安装服务才能运行。这说明程序需要的文件就在移动回的文件中。通过上面的图发现里面只有十多个dll文件,查找难度不大,先把其中一半剪切到新系统中。 剪切时也有巧门的。剪切时需要在一行的第一个文件上点右键, 虽然在选中的文件任何一个上点右键都可以剪切,但是在粘贴的时候有说道啊,呵呵,粘贴的时候在窗口的右下角点右键, 粘贴以后就可以把粘贴的文件横向粘到窗口之外。这样可以直接处理移动的文件,, 把第一行移动到system后,程序可以启动,说明需要的文件就在这几个文件中,从上图中可以很清楚的看到移动的是哪几个文件,然后用精简软件的方法处理一下。就是删掉一个文件,启动一下程序,看看能否启动,如果能启动就说明刚删掉的文件是没用的,再接着删。如果删除后程序无法启动,就说明删掉的文件是有用的,就在空白处点右键,选择“撤消删除”就可以。最后查明只需要msi.dll文件即可运行。这让我想起了acdzsee5.0,这同样是需要安装服务运行,但是它在精简时会提示缺少某个文件,只要根据文件名就可以搜索到,非常省事,而微软这东西却不明说,害得我费了好大的劲,不过却锻炼了技术,呵呵,以后再遇到需要安装服务的软件的时候就直接去查这两个文件试试吧。 找到的文件在系统文件夹中,但是我们可以任意指定它的位置,只要程序可以找到这个文件就行,为了方便,把它放到Front Page的文件夹中。下一步就是精简程序文件,找到程序运行所需要的最少文件。这个过程就不多说了,可以参考5。0的贴子。接下来就进行精简注册表吧。 注册表是系统中比较重要的部分,如果处理不当,有时候会影响系统正常动行或死机。但是按本文介绍的方法备份了系统以后,你随时可以对注册表进行破坏性的修改。万一死机了就重启到dos下,用scanreg/restore恢复一下注册表即可,根本不用担心系统的稳定与否,实在不行就换一个系统,反正换一个系统才三两分钟。没有了可担心的,就可以大胆的精简注册表啦。 我以前精简过几个office的软件,对office有些了解,所以这次精简Front Page的时候直接去相关的键去精简。但是这篇文章要介绍的是对软件不了解的情况下如何查找的方法,所以还是要把猜测的全过程写出来的:) 猜测的过程和精简文件差不多,都是删掉一个键,然后启动一下程序,看看能否启动。只不过注册表太庞大了,不能只用这一种方法,要把多种查找的方法结合起来使用。 打开注册表可以看到六个根键。只有前三个根键与软件有关,所以精简软件的时候先从这三个键下手。首先打开第三根键:HKEY_LOCAL_MACHINE,现在假设不知道软件需要的键值在哪个子键中,不用理它,直接删掉HKEY_LOCAL_MACHINE中的子键,删除一个,启动一下程序,如果程序可以运行,就说明需要的键值不在此键中,如果删除后程序无法运行,就说明需要的键值在刚才删掉的键中,那么就把刚才删掉的键恢复,再去删除其它的键。用这样简单的方法就可以找到所需键值大概的位置。 整个HKEY_LOCAL_MACHINE根键中,只有 [HKEY_LOCAL_MACHINE\Software\CLASSES] 不可以删除。因为这个键是系统中最重要的键,如果删掉这个键以后,系统有可能会死机,也有可能会无法执行你的指令,如打开双击文件夹时打不开文件夹,双击图标无法打开相应的程序等等。所以这个键不要动它,其余的键可以大胆的删除,没任何问题的,呵呵, 其实如果对注册表有所了解的情况下,可以推测出软件大概的位置。在HKEY_LOCAL_MACHINE有一个Software子键,Software是“软件”的意思,大多数软件都会在这个键下建立一个和自己公司同名的子键,把自己需要的信息保存在这个子键下。所以可以直接去相应的子键下面精简的。office软件是微软的软件,所以直接去[HKEY_LOCAL_MACHINE\Software\Microsoft] 键下用删除法查找相关的键值。这个键下面有四五十个子键,可以慢慢的试验,删掉一个启动一下程序。也可以一次删除五六个键,然后启动程序测试。呵呵, 当删掉[HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer]键以后,系统会提示 这说明Front Page需要这个键才能正常运行,但是这个键却不必和Front Page精简到一起,因为98以上的系统都有这个键的。所以不用管它。先把前面保存的“完全安装”中的注册表文件导入系统,这样刚才删掉的所有键又恢复到注册表中了,然后跳过这个键,再去删除其它的键进行测试。(这里需要注意一下,前面保存的时候是保存了好多个分支的,这时导入00或03、03soft、03micro的任意一个都可以恢复刚才删掉的信息,但是恢复00是恢复全部的注册表,比较浪费时间,所以只需要恢复03micro即可。) 这是我精简后的注册表, 注意,这是为了查找软件需要的注册表键值才精简成这样的,这时的系统是极不稳定的,动不好就会坏掉的,所以这时除了绿化软件以外最好不要做其它的工作。 猜测Front Page需要的注册信息就在office和windows两个子键中,下一步再用此法在这两个键下精简一番。 打开office子键,里面的分支并不多,精简后只剩下 [HKEY_LOCAL_MACHINE\Software\Microsoft\Office\9.0\Common\LV]一个子键,里面的值是这样的: [HKEY_LOCAL_MACHINE\Software\Microsoft\Office\9.0\Common\LV] "51356-001-0253803"=hex:83,41,7e,de,52,03,c6,ab,8a,31,f7,89,01,2d,3b,2c,9a,d8,\ ad,c4,b5,31,a1,6a,ca,a9,80,f8,8d,4a,e9,e6,f8,60,d0,3c,c3,86,38,25,68,d0,84,\ b0,ef,8a,2f,1a,7b,2f,ab,1d,80,0e,45,64,f8,40,55,3f,ba,8a,f9,bd,ce,52,ea,5f,\ 9a,9b,a5,0a,d0,d2,df,93,71,c3,63,95,78,5a,fb,b3,d2,34,7e,e3,77,8a,92,69,14,\ 73,ef,9e,02,ab,1e,02,69,c1,c3,f6,74,eb,08,76,90,d3,bb,30,94,a0,64,d5,12,56,\ 40,91,4f,89,18,94,21,1a,55,26,d6,18,7a,b0,ac,b1,b6,4b,c4,51,b0,3a,7b,80,5c,\ 7c,d2,ad,e7,3d,44,a2,1b,cd,33,3d,70,c6,e9,02,16,ff,84,64,78,f4,27,9f,45,b1,\ ab,9d,78,d6,5f,23,b3,08,30,a8,56,ef,65,d4,63,9b,1a,af,3e,4d,d1,f7,15,8f,73,\ 5a,db,8e,3b,00,08,9b,18,8f,30,97,0f,c6,30,0d,aa,67,57,91,46,aa,1a,be,16,3d,\ 3c,1a,e9,46,43,ac,ae,f7,27,56,71,b1,8a,c8,af,87,d2,14,9c,a6,81,63,e7,4f,5e,\ b1,89,6e,94,92,79,e2,a1,0b,d4,83,64,93,a6,ec,b5,5c,ac,31,bc,7b,9f,09,2b,2d,\ 64,df,d1,42,1b,0b,32,90,85,1b,38,b4,d9,50,36,ff,36,dc,17,df Front Page 2000精简失败就失败在这个键上,这个键的值是根据不同的硬件环境而改变的。精简后的软件在同一台电脑上的任何系统都可以运行,但是换一台电脑就无法再运行了。就是因为这个键,如果谁能把这个问题解决了,那么就可以制作出在任意电脑上运行的版本了。 失败归失败,软件还是要精简的,至少精简出来以后可以在自己的电脑上使用。下面处理windows分支。 windows下面有四五个分支吧,但真正有用的是CurrentVersion键,它的下面有很多个子键的。不知道哪个是有用的情况下,还是使用删除法,直接删掉子键测试。当删掉Installer子键时程序无法启动,要求要安装才能使用。说明这个键是程序需要的键。打开Installer,经过删除后只剩下两个键:Components和Features。其中Components下面有三百多个子键。要命。 待续 2005-10-09 最近几天我单位的活多,没偷出时间写贴子,过几天看看吧,争取20号之前贴出下集:) ---------------------------------- 最近单位活忙,我没太多的时间写贴子,耽误了。不过在这几天中我发现了一点东西,就这一点东西挺重要的,我现在做出一个可以在98系统下通用的版本,不受硬件限制,已经在三个电脑上测试通过了,现在正在试验,看看能不能在2000和xp下也可以通用,如果可以通用的话那最好啦, 所以短时间内不会更新了,最少要半个月左右吧,,呵呵,,,, 就是不知道有没有人需要这个软件:) |
| [返回上一页] [打 印] |
|
上一篇文章:安装信息追踪一例:从旧系统中提取驱动程序 | 下一篇文章:Front Page 2000 迷你版的制作过程(二) |