无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 4359|回复: 1
打印 上一主题 下一主题

使用Nlite的后期处理

[复制链接]
跳转到指定楼层
1#
发表于 2006-7-4 19:14:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
对每个组件和服务能有比较清楚的认识!特别是服务.

一. 英文版2003

1 输入法修改
目的:
删除多余输入法,并增加自己需要的输入法。
说明:
一般我们只保留简体中文和繁体中文的支持,但我们很少能用到甚至从来不用繁体输入法,因此我们只要保留繁体中文的显示支持(即可以浏览繁体中文的网页和文档),而删除繁体中文的全部输入法。简体中文我们删除自己从来不用的输入法,还可以对输入法进行改造, 以适合自己的习惯。这里我增加智能ABC5.22版(英文2003没有智能ABC输入法)和王码五笔86版,去掉郑码、区位、全拼和双拼输入法。习惯使用微软拼音的朋友一般都会安装2003版,因此微软拼音系统自带的3.0版我也去掉。
方法:
对输入法的修改,主要是对INTL.INF的修改。通过修改INTL.INF,我们可以实现各种语言的支持和输入法的改造。(对于中文版本,还需要修改HIVESYS.INF)

1) 删除输入法a) 删除繁体输入法
用记事本打开INTL.INF,查找"LG_INSTALL_9",在第一个地方停下来。这部分就是繁体中文的所有安装信息,它包括了所有需要的文件及注册信息。向下翻分别找到"IME.LGFiles.Install.CHT"(所有常用繁体中文输入法 所需要的文件)、"CHT_PHIME_SYSTEM"(默认输入法的主文件)、"CHT_PHIME"(微软拼音输入法的所有文件)、"CHT_PHIME_APPLETS"(微软拼音的类支持文件)、"CHT_PHIME_SHARED_RS"、"C HT_CJIME_SYSTEM"(仓吉输入法的主文件)、"CHT_CJIME"(仓吉输入法的所有文件)、"IME.LGFiles.Remove.CHT"(删除语言时移除的文件)这几部分,删除这几部分项目下的所有内容,保存。(这里推荐新建一个 文本文件,随便起个名字,比如"删除繁体.txt",把这些内容剪贴到"删除繁体.txt"中,方便后面使用)
根据文本文件中的文件列表,在"i386lang"中找到这些文件并删除之。

b) 删除简体输入法
用记事本打开INTL.INF,查找"LG_INSTALL_10",在第一个地方停下来。这部分就是简体中文的所有安装信息,它包括了所有需要的文件及注册信息。向下翻分别找到"IME.LGFiles.Install.CHS"(所有常用简体输入法所 需要的文件)、"CHS_PYIME_SYSTEM"(默认输入法的主文件)、"CHS_PYIME"(微软拼音输入法的所有文件)、"CHS_PYIME_HELP"(微软拼音帮助文件)、"CHS_PYIME_APPLETS"(微软拼音的类支持文件)、"IME.LGFiles.Remove.CHS"(删除语言时移除的文件)这几部分,删除这几部 分项目下的所有内容,保存。(这里推荐新建一个文本文件,随便起个名字,比如"删除简体.txt",把这些内容剪贴到"删除简体.txt"中,方便后面使用)
* 注意:不要删除"CHS_PYIME_SHARED_RS"下的内容,否则等会还要再添加进来。

c) 删除文件文件拷贝列表
打开INTL.INF,找到"SourceDisksFiles"部分(此项包含了所有输入法所需要的文件,并告诉安装程序复制这些文件到相应的位置),根据"删除繁体.txt"和"删除简体.txt"中的文件列表,删除这部分下的相应文件所在行,保存。 然后在"i386lang"中找到这些文件并删除之。
这样,我们就成功了删除所有的输入法。如果不需要增加输入法的朋友,到这里就可以结束工作了,系统安装完成后,只有英文输入法,然后可以根据自己的需要安装输入法了。

2) 增加输入法
这里我以智能ABC5.22版和王码五笔86版为例。

a) 得到输入法文件
如果你下载的是安装文件,需要安装后找出这些文件,如果下载的是压缩文件,解压后复制出这些文件。智能ABC所需要的文件是WINABC.IME、WINABC.CWD、WINABC.OVL,王码五笔需要的文件是winwb86.IME、winwb86 .MB。
把这五个文件复制到一个新文件夹中,打开DOS窗口,进入这个文件夹,分别运行"makecab 文件名"以压缩文件。例如运行"makecab WINABC.IME",完成后就会看到文件夹下多了个WINABC.IM_,这个文件就是压缩后的文件,和安装盘内的.**_相同。复制这五个压缩文件到i386lang中。

b) 修改INTL.INF
打开INTL.INF,找到"IME.LGFiles.Install.CHS"和"IME.LGFiles.Remove.CHS",分别在这两项下分行输入这五个文件的完整文件名(是原始文件名而不是压缩文件名)。
找到"SourceDisksFiles"项,根据此项的规则在下面添加这五个文件,例如"Winabc.ime = 7,,,,,,,2,1"。
找到"IME.LGReg.Install.CHS"项,找到
"HKLM,"SYSTEMCurrentControlSetControlKeyboard LayoutsE0030804","IME file",,winzm.ime"这一行,把"winzm.ime"替换成"winwb86.ime"。找到"HKLM,"SYSTEMCurrentControlSetControlKeyboard LayoutsE0050804","IME file",,wingb.ime"这一行,把"wingb.ime"替换成"winabc.ime"。这一步是为了把原有的郑码输入法和内码输入法分别替换成王码五笔和智能ABC,你也可以用其他的输入法比如双拼或者全拼来替换,或者按照输入法建立规则新建一个输 入法项目而不替换原有的输入法项目。在这里用替换的方法是为了简单而已,并不是必须这么做。
搜索"ZhengMa",会找到"KLT_75 = "Chinese (Simplified) - ZhengMa""这一行,用"WangMaWuBi86"或者"王码五笔86"替换"ZhengMa"。在下面一行的地方会找到"KLT_77 = "Chinese (Simplified) - NeiMa""这一行,用"Intelligent ABC"或者"智能ABC"替换"NeiMa"。

到了这里,智能ABC5.22版和王码五笔86版已经成功添加了,不过在安装完成后你会发现输入法设置框和语言栏里并没有这两种输入法,那是因为我们是用替换原有输入法的方法添加的,因此输入法设置框和语言栏里的输入法名称还是原输入法的名称,分别是"Z hengMa"对应"王码五笔"、"NeiMa"对应"智能ABC"。如果你可以接受的话到这里就可以接受了,如果你觉得这样不爽的话,可以进行下一步的改造。

c) 修改输入法名称
在i386目录内找到"input.dl_",在DOS命令行下用"expand input.dl_ input.dll"命令解压,或者直接用Winrar解压,得到input.dll文件。用eXeScope或者ResHacker等资源编辑软件打开input.dll,找到"字符串3181033"项,修改右侧的"Chinese (Simplified) - ZhengMa"为"Chinese (Simplified) - WangMaWuBi86","Chinese (Simplified) - NeiMa"为"Chinese (Simplified) - Intelligent ABC"。然后保存,再重新压缩为"input.dl_",替换i386下的同文件。这样安装后就可以看到正确的输入法名称了。

3) 还原被删除的几个文件
Nlite会删除c_20000.nls、c_20932.nls、c_20936.nls、c_20949.nls、c_is2022.dll、agt0804.dll这几个文件。这几个.nls文件是额外的中文语言显示支持文件,通常是特殊编码的语言 编码集,比如c_20000.nls是台湾的国家标准码编码文件。只要在Nlite的额外保留文件框中分行输入这几个文件名即可,或者手动修改TXTSETUP.SIF和DOSNET.INF。如果你根本用不到这类编码的文件,你完全可以不用做这一步。


到了这里,输入法修改所有的工作都结束了。其实输入法这里还有很多文章可以做,你可以添加你所喜欢的大多数输入法,不过修改的文件可能会更多一些,需要你有足够的耐心。
这里附上我修改后INTL.INF。最终的lang目录内约27个文件,15.7M大小。

2 搜索助手修改
一般人是直接在Nlite中移除搜索助手这个组件,但是我不推荐这样做,因为移除掉搜索助手后,在安装完成的系统中搜索的高级选项是不能保存的,需要你每次手动打开高级选项,否则搜索不到你要找的文件。这个问题以前很多朋友给我提过,经过多次测试之后,总 算找到一个算是完美的解决方法。保留搜索助手,只要删msgr3en.dll、nls302en.lex、courtney.acs、earl.acs、rover.acs这五个文件即可。这五个文件占用近5M空间,而整个搜索助手不过占用近6M空间而已 。
这个工作可以交给Nlite来做,也可以后期手动来删除,并修改DOSNET.INF和TXTSETUP.SIF。这里推荐由Nlite来做,因为可以减少手工修改DOSNET.INF和TXTSETUP.SIF的工作。只需要在Nlite的删除额外文件 框中分行输入这几个文件名。
删除这五个文件后,在安装过程中(安装组件时)会提示缺少文件,我们还需要修改"srchasst.in_"文件来避免这个问题。解压srchasst.in_,得到srchasst.inf,分别删除"msgr3en.dll,,,32"、"nls30 2en.lex,,,32"、"courtney.acs,,,32"、"earl.acs,,,32"、"rover.acs,,,32"这几行,或者用封号屏蔽它们。保存后再压缩回去,替换原文件即可。


3 加装视频压缩
2003没有视频压缩解压组件和功能,很多游戏的片头或片尾动画不能播放,玩游戏的朋友感到非常不爽。我们利用Nlite来给2003安装盘增加这个组建的安装功能。如果你使用了Nlite的优化功能,它会在i386目录下添加一个NLITE.IN_,这 个文件保存了所有的优化信息,我们借助于这个文件来实现。
从XP的安装盘中复制ir32_32.dl_和iccvid.dl_两个文件到i386目录,然后手工修改TXTSETUP.SIF文件,在"SourceDisksFiles"项目下增加"iccvid.dll = 1,,,,,,,2,0,0,,1,2"和"ir32_32.dll = 1,,,,,,,2,0,0,,1,2"两行;在DOSNET.INF的"Files"项目下增加"d1,ICCVID.DLL"和"d1,IR32_32.DLL"两行。最后解压NLITE.IN_,打开NLITE.INF,在"[T]"项目下增加一下内容:
hklm,"%icc1_SMWCD%","vidc.cvid",,"iccvid.dll"
hklm,"%icc1_SMWCD%","vidc.iv31",,"ir32_32.dll"
hklm,"%icc1_SMWCD%","vidc.iv32",,"ir32_32.dll"
在"[Strings]"项目下增加"icc1_SMWCD = "SOFTWAREMicrosoftWindows NTCurrentVersionDrivers32""一行,保存,压缩,替换原文件。
OK,当你安装完系统后,已经具备了视频压缩功能,在玩游戏时你不会再觉得不爽了。


4 帮助中心
一般人都是直接移除帮助中心的,不过安装后的系统"Program Compatibility Wizard"不能运行,也就是不能运行兼容向导了。这个其实并不影响以兼容模式运行程序,完全可以在程序的属性中指定。但是追求完美的朋友可能会为了这个功能保留帮助中心,其实只要花点时间也可以在达到精简目的的同时移除多余的帮助文件。
方法其实很简单,就是保留帮助中心,手工删除所有的".chm"和".hlp"文件即可。先在安装了完整系统的机器上列出"windowshelp"目录下的".chm"和".hlp"文件,然后在Nlite的额外删除文件框中列出这些文件即可。需要说 明的是"win.hlp"文件不能删除,否则运行帮助中心时会提示找不到此文件。

* 注意:对于2003SP1还有很重要的一点,就是在移除组件时千万不要把Clip Book、Event Log以及NetDDE三个组件移除,否则在安装组件时(大概安装时间剩余10分钟左右)会出错(但并不报错)重新启动,然后又开始重新安装。这个问题在SP1RC中就已经存在,但是作者一直没有修改,希望会在下版中解决。


一. 中文版XP

1 输入法修改
XP的输入法修改和2003的基本差不多,不一样的有三个地方。一是输入法的文件不仅仅在"i386lang"中,"i386"下也有,你需要同时替换和删除这两个目录下的文件。二是XP自带智能ABC输入法,你只要替换文件即可,对INTL.INF和 input.dl_只需要修改王码五笔对应的部分。三是需要在DOSNET.INF和TXTSETUP.SIF中修改相应的内容。

2 搜索助手修改
与2003相同。

4 帮助中心
与2003相同。

5 LUNA主题
Nlite精简过的系统会让LUNA主题找不到对应的桌面壁纸,解决这个问题的方法较多,我这里用麻烦点的办法,主要是为了向大家展示更多的修改系统安装文件的方法。
解压"LUNA.TH_",得到"LUNA.THE"文件,用记事本打开它,修改"[Control PanelDesktop]"项目下的"Wallpaper="这一行为"Wallpaper=%WinDir%ResourcesThemeslunaWallpaper.jpg"。打开TXTSETUP.SIF,搜索"bliss.jpg",把"bliss.jpg = 1,,,,,,,1981,0,0"这一行修改为"bliss.jpg = 1,,,,,,,68,0,0,Wallpaper.jpg",保存,OK!
其实这个LUNA.TH_文件也就是系统安装后"WINDOWSResourcesThemes"下的"Luna.theme"文件,我们所做的就是修改它对应的桌面壁纸文件的路径而已。而修改TXTSETUP.SIF也只是修改了bliss.jpg 文件的复制路径而已,把他复制到"WINDOWSResourcesThemesLuna"目录下。

6 媒体播放
我一般都会移除Windows Media Player 9,因为平时很少用到它,而且我的宽带也没法在线看电视电影什么的,大不了需要的时候再安装它。但是一旦移除了Windows Media Player 9,会造成编码文件的遗失,使得其他播放器比如Foobar等提示缺少文件。我们可以在Nlite的额外保留文件框中输入这些编码文件的文件名以保留他们。对于象我一样只用Foobar听听mp3的朋友,可以只保留wmasf.dll、wmidx.dll 、wmvcore.dll这三个文件,而其他的文件各位朋友自己去摸索添加吧。


最后再说一说关于用Nlite集成Hotfix的问题吧。经过多个版本的测试,用Nlite集成Hotfix是不现实的,只有很少的几个才能集成进去,大多数都是无法集成进去的,所以大可不必在这个上面做花时间了,都是徒劳的。


--------------------

nLite移除后期相关处理

OEMBIOS后期处理:
1.替换I386内Winlogo.EX_文件。
2.安装时提示缺少 oembios.cat 之类的信息. 如果出现了这种情况, 那么请处理一下 syssetup.inf, 把其中的 oembios.cat 这行删掉.
注:原文件为 syssetup.in_, 请自己解压再压缩.。

安装界面(图形)乱码:
修改I386文件夹下的INTL.INF,将其中的 SIMSUN.TTC,,,65536 删除或前加分号注释掉。

称除ramdisk.sys,ramdisk.inf文件后的处理:
只需删除dosnet.inf、txtsetup.sif这2个文件中出现ramdisk的行即可。


精简WMP9保留编码:
在nlite保留框中添加wmasf.dll、wmidx.dll 、wmvcore.dll这三个文件。

为以后安装繁体保留代码:
在nlite的保留框中添加以下文件
PRC.nls
PRCP.nls

防止nlite自动删除额外的中文语言显示支持文件:
在nlite的保留框中添加以下文件
c_20000.nls
c_20932.nls
c_20936.nls
c_20949.nls
c_is2022.dll
c_g18030.dll

在移除框中移除搜索助手的后期处理:
如果在安装过程中(安装组件时)提示缺少文件,需要修改"srchasst.in_"文件来避免这个问题。解压srchasst.in_,得到srchasst.inf,分别删除"msgr3en.dll,,,32"、"nls30 2en.lex,,,32"、"courtney.acs,,,32"、"earl.acs,,,32"、"rover.acs,,,32"这几行,或者用封号屏蔽它们。保存后再压缩回去,替换原文件即可。

精简帮助并保留运行帮助中心:
推荐方法,就是保留帮助中心,手工删除所有的".chm"和".hlp"文件即可。先在安装了完整系统的机器上列出"windows\help"目录下的".chm"和".hlp"文件,然后在Nlite的额外删除文件框中列出这些文件即可.需要说明的是"win.hlp"文件不能删除,否则运行帮助中心时会提示找不到此文件,解决方法在nlite的保留框中添加win.hlp。

中文输入法后期处理(其他输入法参照本例或"精简其他输入法并保留LANG目录.txt"):
在I386目录中找到以下两个文件HIVESYS.INF和INTL.INF(在整体完成前操作)
删除HIVESYS.INF中的[AddReg]
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0010804","Layout File",0x00000000,"kbdus.dll"
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0010804","Layout Text",0x00000000,"%KLT_73%"
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0010804","IME File",0x00000000,"winpy.ime"
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0020804","Layout File",0x00000000,"kbdus.dll"
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0020804","Layout Text",0x00000000,"%KLT_74%"
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0020804","IME File",0x00000000,"winsp.ime"
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0030804","Layout File",0x00000000,"kbdus.dll"
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0030804","Layout Text",0x00000000,"%KLT_75%"
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0030804","IME File",0x00000000,"winzm.ime"
注意以下这行:
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E00E0804","Layout File",0x00000000,"kbdus.dll"
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E00E0804","Layout Text",0x00000000,"%KLT_91%"
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E00E0804","IME File",0x00000000,"pintlgnt.ime"


删除INTL.INF中的
winpy.chm = 7,,,,,,,0,0
winpy.ime = 107,,,,,,,0,0
winpy.mb = 7,,,,,,,0,0
winsp.chm = 7,,,,,,,0,0
winsp.ime = 107,,,,,,,0,0
winsp.mb = 7,,,,,,,0,0
winzm.chm = 7,,,,,,,0,0
winzm.ime = 107,,,,,,,0,0
winzm.mb = 7,,,,,,,0,0

WINPY.IME
WINPY.MB
WINSP.IME
WINSP.MB
WINZM.IME
WINZM.MB

PINTLGNT.IME
PINTLPAD.HLP
PINTLPAE.HLP

PINTLPHR.EXE
PMIGRATE.DLL
IMSCINST.EXE
PINTLGC.IMD
PINTLGD.IMD
PINTLGDX.IMD
PINTLGI.IMD
PINTLGIX.IMD
PINTLGL.IMD
PINTLGNE.CHM
PINTLGNT.CHM
PINTLGR.IMD
PINTLGS.IMD

PINTLPAD.CHM
PINTLPAE.CHM

WINPY.IME
WINPY.MB
WINSP.IME
WINSP.MB
WINZM.IME
WINZM.MB

winpy.chm
winsp.chm
winzm.chm

HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0010804","IME file",,winpy.ime
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0020804","Layout File",,KBDUS.DLL
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0020804","Layout Text",,%KLT_74%
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0020804","Layout Display Name",,"@%SystemRoot%\system32\input.dll,-5074"
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0020804","IME file",,winsp.ime
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0030804","Layout File",,KBDUS.DLL
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0030804","Layout Text",,%KLT_75%
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0030804","Layout Display Name",,"@%SystemRoot%\system32\input.dll,-5075"
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0030804","IME file",,winzm.ime
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0050804","Layout File",,KBDUS.DLL
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0050804","Layout Text",,%KLT_77%
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0050804","Layout Display Name",,"@%SystemRoot%\system32\input.dll,-5077"

HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E00E0804","IME File",0x00000002,"pintlgnt.ime"
HKLM,"Software\Microsoft\Windows\Html Help","PINTLGNE.CHM",,"%11%\IME\PINTLGNT"
HKLM,"Software\Microsoft\Windows\Html Help","PINTLGNT.CHM",,"%11%\IME\PINTLGNT"
HKLM,"Software\Microsoft\Windows\Html Help","PINTLPAD.CHM",,"%18%"
HKLM,"Software\Microsoft\Windows\Html Help","PINTLPAE.CHM",,"%18%"
HKLM,"Software\Microsoft\Windows\Help","PINTLPAD.HLP",,"%11%"
HKLM,"Software\Microsoft\Windows\Help","PINTLPAE.HLP",,"%11%"
HKLM,"Software\Microsoft\Windows\Help","IMEPADEN.HLP",,"%10%\IME\SHARED"
HKLM,"Software\Microsoft\Windows\CurrentVersion\IntlRun","CHS(%11%)",,"%11%\IME\PINTLGNT\IMSCINST.Exe"

HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0010804"
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0020804"
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0030804"
HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E00E0804"

HKLM,"Software\Microsoft\Windows\CurrentVersion\IntlRun","CHS Remove(%11%)",,"%11%\IME\PINTLGNT\IMSCINST.exe /SILENCE_REMOVE"

==========================

精简系统XP后,使用Shift+Ctrl切换输入法,如提示错误

请参照下面代码:

HIVEDEF.INF

[AddReg]

HKCU,"Keyboard Layout\Preload","1",0x00000002,"00000804"
HKCU,"Keyboard Layout\Preload","2",0x00000002,"E00E0804"
HKCU,"Keyboard Layout\Preload","3",0x00000002,"E0010804"
HKCU,"Keyboard Layout\Preload","4",0x00000002,"E0030804"
HKCU,"Keyboard Layout\Preload","5",0x00000002,"E0040804"

改成:

HKCU,"Keyboard Layout\Preload","1",0x00000002,"00000804"
HKCU,"Keyboard Layout\Preload","2",0x00000002,"E0010804"
HKCU,"Keyboard Layout\Preload","3",0x00000002,"E0040804"
2#
发表于 2006-7-4 20:37:26 | 只看该作者
以前有人发过,不过这么久了,确实需要再学习一下,支持!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-28 23:40

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表