包括ROM的制作、汉化、优化、celecmd、mortscrtip、马尼拉基本修改等等。
第一章 模板与ROM的简略说明
我们升级手机系统,是下载一个ROM,再通过电脑刷进手机或者直接复制到手机存储卡里卡刷进去。那么一个ROM是怎样制作出来的呢?最方便的方法莫过于使用模板制作了。而模板是什么呢?又是怎样来的呢?
英文里制作ROM叫做cook rom,为什么这样叫呢?顾名思义,就是一个ROM其实是煮出来的。如果我们已经有了一个模板,那么制作出一个ROM对于我们来说,其实就相当于跟煮饭、炒菜一样简单,我们只需把材料(OEM包等)扔进去,然后很简单的(点击一下鼠标)就可以煮出来。(当然煮的好不好吃是另外一回事,呵呵)
因此,模板可以看成是非常简单就能制作出ROM的软件,对于我的模板,只需点击一下BT BuildOS.exe,再勾上/去掉你所需要/不需要的OEM软件,点击开始,过几分钟就会自动做好ROM并弹出刷机软件,呵呵,够简单吧。
而模板的来源,可以利用工具将官方发布的ROM反向分解形成(或者下载别人制作好的)。
那么我们先来讲讲如何形成一个标准的模板吧。
第二章 将官方ROM转化成标准的模板结构
一、必要软件
1、安装.net 3.5(win7可跳过)
下载:http://download.microsoft.com/download/6/0/f/60fc5854-3cb8-42-b6db-bd4f42510f28/dotnetfx35.exe
2、安装VC2008(win7可跳过)
下载:ftp://pcg@ftp.pcgpcg.net/ppc/VCredist x86.rar
3、模板工具BT BUILD下载:
下载:ftp://pcg@ftp.pcgpcg.net/ppc/BT BuildOS.rar
3、模板分区剩余空间1.5G以上
4、建议在ntfs分区使用。
5、在文件夹选项里打开显示系统、隐藏文件,最好也显示扩展名。
二、下载官方ROM
1、可以去HTC官方网站下载,凭你的PPC机SN号下载,若没有适合的SN号可以去拜托GOOGLE大神。
2、一些论坛偶尔也会放出一些test、ship rom、chs rom。
三、ROM的最基本结构(头晕的可跳过)
从官方下载回来的ROM,是EXE格式,可以直接用winrar解压出来,其中RUU_signed.nbh是ROM,其余文件是刷机软件(注:刷机软件一般是通用的)。
RUU_signed.nbh这个文件是由一个或多个NB文件合成的。官方的RUU_signed.nbh通常由os.nb(系统)、ipl、spl(装载系统、CID检测等)、MainSplash(第一屏)、radio(通讯)等等组成。
而os.nb则是一个ROM主要部分,由os镜像+头部尾部组成(头部尾部不同机型不一定相同),纯os镜像由两部分组成:xip和imgfs.bin,而imgfs.bin又可以分成两部分:oem和sys,xip是系统首先装载的基本文件,oem是厂商定制的软件(其中除了驱动外90%以上是通用的),sys是微软的系统核心。
Nbh文件可以用NBHextract.exe这个文件来分解。
Os.nb文件可以用nbtool.exe来分离出纯os镜像,再解压出xip.bin、imgfs.bin
Imgfs.bin可以用ImgfsToDump解压出文件,再用PKGTool.exe根据里面的dsm整理成各个目录。
不过以上是旧的方法,bepe在09年末推出了新的dump工具xidump(原ImgfsToDump),可以直接从nbh等格式ROM分解出oem、sys、xip等(链接:http://forum.xda-developers.com/showthread.php?t=572673)。
1、简单的分解过程如下:
(1)NBH分解成各个nb。(NBHextract.exe)
(2)os.nb分解成xip和imgfs。(nbtool.exe)
(3)imgfs分解成oem、sys。(imgfstodump.exe)
以上步骤现在可以直接用xidump全部代替。
2、简单的合成ROM过程如下:
(1)oem、sys、xip生成dump目录和xip.bin。(platformrebuilder.exe)
(2)oem、sys合成imgfs.bin(imgfsformdump.exe)
(3)xip、imgfs.bin插进原来的os.nb里(imgfstonb.exe、implantxip.exe)
(4)os.nb签名成nbh。
四、将官方ROM整理成一个标准模板。
(一)BT BuildOS简略说明
1、BT BuildOS是由btxakita基于MyBuildOS(小桥)进行的拓展,以platformrebuilder(bepe)排序工具为核心的ROM制作工具。
2、因为BT BuildOS是以platformrebuilder来排序,因此HTC机型可以省却手工移植XIP的烦恼,并且支持原生6.5nk。
3、因为是基于MyBuildOS的拓展,所以可以读取OEM里的option.xml提供该OEM包的选择与说明等。
4、OEM目录支持分类,EXT目录支持ext格式的oem包,并且也支持分类以及可将目录名显示在buildos界面提供选择。
5、OEM、TOOLS、RUU支持自定义路径,可编辑rom\\config.ini或在BT BuildOS的目录选择里选择。
6、支持自定义机型,请参考BT BuildOS\\TOOLS\\Devices.ini自行编写,我已经将常用机型列出来,不过未能一一测试,有错之处请反馈或自行修正。
7、xidump目录是我根据bepe的xidump.exe整理的分解ROM工具包,其中里面有三个BAT,可以把相关文件拖到那几个BAT上实现傻瓜分解。其中Dump.bat可以解出oem+sys+xip(假如有的话),Dump_os.nb.payload.bat可以解出精简后的os.nb.payload,Dump_XIP.bat可以只解出xip。
8、BT BuildOS我设定的默认目录简略说明
BT BuildOS(这个是解压后出的目录)
|
|—-EXT(EXT格式的OEM包扔到这里,里面还要进行分类)
|
|—-XXX1(分类目录1,会在BT BuildOS里显示出来)
|
|—-XXX(EXT OEM包
|
|
|
|—-XXX2(分类目录2,会在BT BuildOS里显示出来)
|
|—-XXX(EXT OEM包)
|
|—-OEM(普通OEM包扔到这里,里面还要进行分类)
|
|—- XXX 1(分类目录1,会在BT BuildOS里显示出来)
|
|
|—- XXX(普通OEM包)
|
|
|—- XXX 2(分类目录2,会在BT BuildOS里显示出来)
|
|—- XXX(普通OEM包)
|—-ROM(os.nb.payload以及xip放在这里)
|
|—-os.nb.paylaod文件(相应机型的纯OS镜像)
|
|
|—-XIP(XIP目录)
|
|—OEM(XIP的不同机型专用的OEM部分放在这里)
|
|
|—romhdr.bin文件
|
|
|—OEMXIPKernel(XIP的OEMXIPKernel目录放在这里)
|
|
|—WinCENLS_xxx(XIP的wincenls目录放在这里)
|
|—XXX(XIP相应核心的目录)
|
|—MSXIPKernel(XIP的OEMXIPKernel目录放在这里)
|
|—-RUU(刷机软件及制作出来的ROM文件)
|
|—-SYS(SYS核心放在这里,里面还要进行核心分类)
|
|—-XXX(以核心命名的目录)
|
|—-TOOLS(模板制作过程所用到的工具软件)
|
|—-xidump(分解ROM、XIP的工具包)
|—Dump.bat(拖到上面可以分解出oem+sys+xip)
|—Dump_os.nb.payload.bat(拖到上面可以分解出精简后的os.nb.payload)
|—Dump_XIP.bat(拖到上面可以分解出XIP)
|—bin(分解所用到的工具包)
(二)分解
以HD的RUU_BlackStone_hTC_Asia_TW_1.59.709.0_Radio_52.62.25.34_1.13.25.24_Ship.exe为例。
1、下载BT BuildOS.rar,解压。将官方ROM里的除了RUU_signed.nbh以外的文件扔到RUU目录(刷机时用),将RUU_signed.nbh扔到xidump目录里,然后把nbh拖到dump.bat身上,就会自动分解xip、oem、sys,经过比较漫长的显示后,会提示请按任意键继续,此时按任意一键就会退出DOS窗口完成分解过程。
2、把nbh拖到Dump_os.nb.payload.bat身上,就会分解出精简后的os.nb.payload。(如果你有未精简的os.nb.payload,也可以拖到BAT身上得到精简后的os.nb.payload)
3、现在多出了romhdr.bin、os.nb.payload文件和imgfs目录、xip目录。我们先初步整理测试。
(三)初步整理
用BAT自动整理也不是不可以,不过为了让大家熟悉一下模板结构,这里就手动整理吧。
1、将os.nb.payload移到BT BuildOS\\ROM里。
2、将romhdr.bin移到BT BuildOS\\ROM\\XIP\\OEM里
3、将IMGFS目录里的OEM目录剪切到BT BuildOS\\OEM目录(BT BuildOS\\OEM\\OEM)。
4、将IMGFS目录里的SYS目录剪切到BT BuildOS\\SYS目录,并将这个SYS目录改名为相应的核心,这个ROM的核心是20769,因此将SYS目录名改成20769(BT BuildOS\\SYS\\20769)。SYS的核心,可以用SYSVersion.exe查看。
5、进入XIP目录,会发生XIP目录里有5个目录,其中LangDB和MSXIPKernelLTK里面只有一个DSM文件,没什么作用可以删掉。MSXIPKernel是微软的XIP核心,移植核心时就要移植这部分。OEMXIPKernel是该机型的驱动,一般不通用(驱动的另外一部分在oem\\oemdrivers里)。WinCENLS_Lang_0404里是wince.nls,这个文件负责区域及文字显示等功能。(注:wince.nls的目录名视不同语言的ROM而不同,目前platformrebuilder有个BUG,英文200K的wince.nls有时会引起PRB报错)。
(1)在BT BuildOS\\ROM\\XIP下新建一个目录,目录名为XIP核心,即BT BuildOS\\ROM\\XIP\\20769,然后将刚才分解的XIP目录里MSXIPKernel目录移过来。
(2)把OEMXIPKernel和WinCENLS_Lang_0404移到BT BuildOS\\ROM\\XIP\\OEM里
(四)刷机测试
基本的模板已经初步整理好了,先刷机测试一下这个模板是否可用吧,没问题了再进行详细的整理及汉化、移植核心、移植OEM等工作。
1、确认你的PPC已经解锁,不解锁是刷不进非官方ROM的。
2、打开BT BuildOS.exe,左侧的机型选择,选择你的机型,这个是HD ROM,所以选择HD。(可以自己修改BT BuildOS\\TOOLS\\Devices.ini内容)
3、第二列是读取各个分类目录名,这里要勾上OEM这个目录,否则这个目录里的OEM包都不会定制的。
4、可以看到右侧并没有OEM选择,这是因为我们还没给每个OEM创建option.xml,所以默认就会全部定制而不提供选择。
5、点击工具/选项,其中有一项是“启用PRB原生6.5 nk模式”,6.5nk比6.1nk多了两个slot,能容纳更多的模块,不过这个ROM是6.1的ROM,所以把这项去除吧。(记住若你的NK是6.5的一定要勾上)
6、然后点击上方的绿色三角运行吧,会先弹出PRB窗口排序DUMP文件,再生成ROM,完成后会弹出刷机软件
7、试试刷机吧,祈祷能进入系统:)
注:后期HTC官方ROM里的Notification_Enhancement里的NTFConfig.dll模块PRB处理有问题,不转换成文件的话会定在第一屏,请留意。
(五)刷机成功之后……
无意外的话,刷机应该能成功吧。不过成功后我们还有很多事情要做,真正费体力的活现在才开始喔……开玩笑的,希望别被吓倒:)
首先这个这是个繁体版ROM,所以我们先要把ROM改成简体。
不同语言的模板,有三部分不同,一部分是SYS核心,一部分是OEM官方集成软件部分,一部分是XIP里的wince.nls区域相关文件。确切来讲,不同语言的模板,主要区别只在于注册表和MUI
核心部分可以直接移植一个简体的核心,这样就省下很多功夫。
嗯,我们先讲移植吧。
第三章 移植核心
一、获得核心。
1、核心是WM系统通用部分,目前核心的更新只能刷ROM来解决。
2、目前核心基本来源方式有官方ROM提取、一些论坛发布。目前论坛发布的,主要有DFT的mwang、XBETA的猴子及XDA的DA_G,可以自行下载自己喜欢的核心。
3、我们以目前HTC官方ROM版本最高旧特性WM65的212核心为例来移植吧。这个是猴子在XBETA发布的:
(fs2you://Y2FjaGVmaWxlMjYucmF5ZmlsZS5jb20vemgtY24vZG93bmxvYWQvMWFmNTcwNmM0YTlmMTUzNWE5YmE3MTYxNDliZDBjZDEvMjE4OTJfV1ZHQV9DSFMucmFyfDU3OTg0MDk3)
二、分解、整理核心。
核心有两部分,一部分是SYS,一部分是XIP,而猴子发布的一般是dio格式的ROM,我们先分解吧。
1、解压出FLASH.DIO文件,移到BT BuildOS\\xidump目录里。
2、将FLASH.DIO拖到Dump.bat身上,几分钟后会提示请按任意键继续,此时按任意一键就会退出DOS窗口完成分解过程。
3、现在多出了romhdr.bin、imgfs目录、xip目录。
4、将IMGFS目录里的SYS目录剪切到BT BuildOS\\SYS目录,并将这个SYS目录改名为相应的核心,这个ROM的核心是212,因此将SYS目录名改成212(BT BuildOS\\SYS\\212)。
5、在BT BuildOS\\ROM\\XIP新建一个与SYS核心版本号相同的数字,即新建一个212目录,然后将刚才分解的XIP目录里MSXIPKernel(BT BuildOS\\xidump\\XIP\\MSXIPKernel)复制进去(BT BuildOS\\ROM\\XIP\\212\\MSXIPKernel)。
6、移植结束,很简单吧。不过SYS里有些地方我们还要调整一下的。
(1)Metadata这个目录最好使用自己机型里的,因为有些机型不保留这个的话,会有些奇怪的问题发生。
(2)gb18030目录里有个simsun.ac3新宋体字体,若你想使用其他字体,比如雅黑字体的话,那就要删掉这个simsun.ac3,否则一些软件的界面会出现两种字体,看上去很不美观。
(3)SampleMusic是范本音乐,里面有两首WMA文件,这个目录可以直接删掉。
(4)WinCENLS_Lang_0804是wince.nls文件,这个在XIP里已经有了,可以删掉(有些机型可以放在XIP也可以放在SYS,有些机型只能放在XIP里)。
(5)browsingie\\mxip_wpclang_favorites_1000.provxml这个文件里有4个地方是"\\Windows\\Favorites",我们可以改成"\\Windows\收藏夹",这样可以避免一些软件打不开收藏夹。要注意修改后将这个文件保存为UTF-8格式。
7、移植结束~不过若是在DFT下载的核心,SYS是拆开各个不同的部分,就要自己手工整理成一个SYS目录。比如DFT最新的核心,WVGA的要将以下目录放在一起才完整:
(1)COMMON
(2)COMMON_0804
(3)WVGA_COMMON
(4)WVGA_0804
第四章 XIP及OEM处理
一、XIP的中文化处理
ROM\\XIP\\OEM里有WinCENLS_Lang_xxxx的目录,里面有个wince.nls,这个是负责系统的区域、语言显示相关内容,其中英文的是200K左右,简体中文的是800K左右,繁体中文的是1.4M左右。我们将这个换成简体中文的,省点空间,将WinCENLS_Lang_0404替换成WinCENLS_Lang_0804(简体中文ROM里的XIP有,或者刚才移植的212核心的SYS里也有)。
二、OEM的处理
(一)下载基本相关软件
1、文件对比软件:Beyond Compare 3
2、搜索软件:SearchAndReplace63_gnatix.rar
3、汉化编辑软件:Restorator 2007
4、CAB编辑软件:WinCE Cab Manager v3.0.0.22 汉化版
5、CAB转OEM包软件:package-creator-v2.7修正简体版
(二)OEM基本说明
OEM可以简单理解为HTC官方集成的软件,而相近机型的大部分OEM都是通用的。当然我们做ROM的时候一般也会加入自己所需要的OEM包,这样刷机后这个软件、功能就直接存在,不必刷机后再安装、调整。
官方的OEM,可以简单分为两部分,一部分是PACKAGE_xxxx(机型)_xxxx(软件名),例如PACKAGE_BlackStone_AdobePDF,这类软件大部分是通用的,另一部分就是剩下的oemxxxx和OperatorPkg等,通常要做一定修改。
我们将繁体系统修改成简体系统,顺便直接把新的OEM移植过来吧,我们就以rhodium的原生M25官方ROM里的OEM为例吧(RUU_Rhodium_S2_hTC_Asia_WWE_2.07.707.1_Radio_Rhodium_4.49.25.91_Signed_Ship.exe)。
一个标准的OEM包会分成两部分,一部分程序的主体部分(exe、dll、图片等),另一部分是语言包(mui文件、相关注册表、快捷方式),我们中文化的功能,主要就是将MUI的内容改成简体,并将相应的MUI改名,比如xxx.exe.0404.mui,改名为xxx.exe.0804.mui,系统会根据当前系统语言,自动读取相应的MUI,所以MUI不改名的话会不起效的。我们可以使用Restorator 2007来打开MUI文件进行汉化工作。
下载解压出NBH,扔进xidiump里分解吧。不过我们先处理非通用OEM部分吧。
(三)处理非通用部分(以HD为例)
1、删掉无用目录
凡是目录里只有一个DSM的,都删掉吧,不起什么作用的。
BuildInfoPkg里有些TXT,是官方ROM的基本信息,也删掉。
ConfigAP里有个config_AP.txt,这个是第一次开机runcc调用的配置文件,以实现第一次开机时安装一些软件等,如果不需要用RUNCC的可以删掉。此外还有ControlBlock、ExtendedPkg目录,以及OperatorPkg及OperatorPkg_PT里的configxxx.txt都是RUNCC相关的。
2、处理OEM_Lang_xxxx
这个目录,可以解一个简体的ROM,和OEM_Lang_0804对比一下(用Beyond Compare 3)对比。
(1)RGU注册表处理
其中RGU可以参照简体的将相应的地方改成简体中文,比如:
REGEDIT4
[HKEY_LOCAL_MACHINE\\System\\StorageManager\\Profiles\\PCMCIA]
"Folder"="儲存卡"
这个是定义储存卡的卡名,这里我们为了兼容性,一般是改成英文的卡名Storage Card
[HKEY_LOCAL_MACHINE\\Comm\\Irsir]
"DisplayName"="序列 (COM) IrDA 驅動程式"
这里直接改成简体“串行(COM) IrDA 驱动程序”
[HKEY_CURRENT_USER\\Keyboard Layout\\Preload]
@="e0010404"
[HKEY_CURRENT_USER\\Keyboard Layout\\Preload\\1]
@="e0010404"
这两个是输入法默认区域,改成e0010804吧。
[HKEY_CLASSES_ROOT\\{030D681B-1DFC-4bd0-A72A-A9B3CCCDA653}]
"DisplayName"="相機"
直接改成简体相机
[HKEY_LOCAL_MACHINE\\System\\Pictures\\Camera\\OEM\\PictureLocation]
"Internal"="[url=file://\\\\My]\\\\My[/url] Documents\\\我的圖片\\\\"
也是直接改成简体[url=file://\\\\My]\\\\My[/url] Documents\\\我的图片
[HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Shell\\Keys\40C6]
@="\\"[url=file://\\\\Windows\\\\AppButtons\\\\]\\\\Windows\\\\AppButtons\\\\[/url]語音快速撥號.lnk\\""
"Name"="功能鍵 1(按住)"
"Icon"="[url=file://\\\\windows\\\\SDDialer.exe]\\\\windows\\\\SDDialer.exe[/url], 0"
"ResetCmd"="\\"[url=file://\\\\Windows\\\\AppButtons\\\\]\\\\Windows\\\\AppButtons\\\\[/url]語音快速撥號.lnk\\""
"Flags"=dword:0
"功能鍵 1(按住)"这个可以改成更直观的"拨号键(长按)",而"語音快速撥號.lnk"改成"语音拨号.lnk"吧。
[HKEY_CURRENT_USER\\Software\\Microsoft\\Today\\Keys\\112]
@="行事曆"
这个是日历
"Open"="[url=file://\\\\windows\\\\calendar.exe]\\\\windows\\\\calendar.exe[/url]"
[-HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Today\\Items\\"無線裝置"]
[-HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Today\\Items\\"無線裝置"]
这个注册表前面有-,代表删除,这个是删除今日项目里的"无线"
[HKEY_LOCAL_MACHINE\\ControlPanel\\Stylus\\192DPI]
"CurFont"=dword:3E8
[HKEY_LOCAL_MACHINE\\Security\\ResOver]
"53"="行動電話通訊線路 (GPRS , 3G)"
"54"="GPRS , 3G"
这里依简体的改成"蜂窝电话线路 (GPRS)"
[HKEY_LOCAL_MACHINE\\System\\StorageManager\\Profiles\\SDMemory]
"Folder"="儲存卡"
这个也是卡名,实际上这个才起实际作用的,改成Storage Card
[HKEY_LOCAL_MACHINE\\ControlPanel\\TaskMgr]
"Redirect"=""
基本上对照简体ROM的注册表来改就可以了。
(2)
这个是硬启时提示等待的图片文字,可以直接替换简体ROM里的,或者自己PS一个自己喜欢的说明:)
(3)pwi文件
这个是便笺的模板文件,可以直接用简体ROM里的
(4)mxip_initdb.vol
这个是数据库文件,可以不管它。
(5)mxipupdate_RemoteDesktopMobile.provxml
这个是创建远程桌面的provxml文件,直接替换用CHS的吧
(6)initflashfiles.dat
这个是硬启时创建目录、复制文件等操作的配置文件,这个可以用CoXCo.exe来解码再用记事本打开(tools里有)。
钻石、PRO、HD机型时这个文件只包含了系统目录、文件创建复制,而OEM包的文件是通过provxml调用AutoShortcut来操作的。不过钻石2后期的机型,OEM包的文件操作也直接放在这个文件里,我建议还是手工将各个OEM包的复制文件拆分到相应OEM包里。
我们先来说说系统部分的中文化吧。
同样,我们也是用一个简体的initflashfiles.dat来对比,记得先用CoXCo.exe解码后(生成initflashfiles.dat.txt),再通过Beyond Compare 3来对比。可以直接将initflashfiles.dat拖到CoXCo.exe身上,再选择解码,点击处理。然后在initflashfiles.dat.txt身上按右键选择“选择左侧文件”,再右键点击“与initflashfiles.dat.txt”对比。
这个是繁体和我简体化后的initflashfiles.dat.txt,大家可以对比看看:
下载:
3、OEMDRIVERS
OEMDRIVERS一般不需要特殊处理,不过后期的机型里的蓝牙有个MUI是放在OEMDRIVERS的,必须汉化。
另外里面有个mxipupdate_zzRemoveTSKmgr_1.provxml,这个provxml是删掉任务管理器的快捷方式以及我的图片里的四张图片,需要的可以直接干掉这个provxml。
4、OEMVersion
这个里面有个注册表,功能是显示相应的版本号,这个目录可以直接删除,因为BT BUILD的界面已经提供了这个功能,直接在那里填写就可以了。
5、OperatorPkg和OperatorPkg_PT
这两个目录比较主要,也有点复杂。这里主要是放些运营商相关的东西,包括该机型的标志等。WWE和CHT版这个目录就清爽点。
这个目录主要要注意的地方有那几个provxml,里面有很多注册表都比较重要的,可以好好留意每一项。另外后期的机型这个目录里反而是rgu注册表比较重要,provxml简化了好多。
里面有个ModelName.txt文件,这个是设备信息里的关于机型的显示。
HTC Black.tsk,这个是主题文件,可以使用RHODIUM M25 ROM里的,这个可以在wm65上显示的效果要好,不过要注意要将也复制过来,否则没有wm65大菜单效果。
多和简体的,或者我及其他人模板的对比一下,以后有空再详细说说。
基本上就是这样,BT BUILD会自行产生一个Common目录,可以将上述的目录扔到这里,而PACKAGE_xxxxx_yyyyy的目录可以新建个相应的xxxxx目录,再扔进去,这样就整洁些。
(四)处理非通用部分(以rhodium为例)
前几天刚弄了一个rhodium模板,顺便再以rhodium机型为例说说这部分的OEM处理吧。大家可以下载模板对比一下,这样更直观。
1、除了OEM_Lang_0409、OEMDrivers、OEMMISC、OperatorPkg保留之外,其余目录删掉(我现在才发现我模板里把OEMMISC删了……呃,迷糊了)
2、OEM_Lang目录处理同上。
3、OEMDrivers目录要将BtRez.dll.0409.mui汉化并改名为BtRez.dll.0804.mui(这个好多内容,可以参考LEO CHS ROM里的汉化一下)。
4、OEMMISC应该是windows live及同步相关的,LEO机型的会多些证书之类的,这个不需要改都可以。
5、OperatorPkg目录
(1)htc-opera.htm,将里面的Search改成搜索
(2)嗯,这个ROM……HTC迷糊了,如果不启用HTC大菜单,那菜单的上下栏宽度与菜单宽度不符,超难看,所以要将和替换正确的文件……
(3)mxipupdate_oemoperators_101.provxml,这个可以将中国移动默认的连接加进去,将CHS ROM里的相关内容复制进去即可。
(4)mxipupdate_oemoperators_104.provxml,可以将彩信设置及相关PROVXML内容加进去。
(5)RGU注册表:
[HKEY_LOCAL_MACHINE\\nls]
"DefaultLCID"=dword:00000C09
默认区域,所以将C09改成804
[HKEY_LOCAL_MACHINE\\Drivers\\BuiltIn\\RIL]
"NITZEnable"=dword:00000000
改成1可以打开自动基站对时(但某些区域的时间可能会变慢)
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Clock]
"Home"=dword:00000187
[HKEY_LOCAL_MACHINE\\Software\\HTC]
"DefaultTz"=dword:000000D7
将187改成031,将D7改成D2,这两个可能与默认城市有关。
[HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Internet Explorer\\AboutURLs]
"home_0409"="[url=file://\\\\windows\\\\home.html]file://\\\\windows\\\\home.html[/url]"
将前面的home_0409改成home_0804,IE的主页。
[HKEY_CURRENT_USER\\Software\\HTC\\Manila]
"Locale"="en-AU"
将en-AU改成zh-CN吧。
好了,就是这么简单,还可以将PKG里多余的一些文件删掉。
(五)处理PACKAGE_RHODIUM_S2_OEM部分
这部分的工作,就是将RHODIUM的OEM改成简体。
各个OEM的改法其实都一样的,无非是将MUI的内容改成简体并改名,修改相应的注册表,再创建initflashfiles.txt,将initflashfiles.dat里相应的部分复制修改进去。另外还可以为非必须软件创建option.xml,在bt build界面上提供选择是否订制。
当然实际上我们不可能真的将各个MUI自己手工汉化,多大的工作量啊……我们可以偷懒点,下载LEO和QILIN的CHS ROM,解开,找到相应的MUI,直接用里面的(当然最好还是打开MUI对比一下看有不同之处不,不同之处再修改一下)。
所以虽然这部分花费的时间最多,但反而没什么好提的,主要是体力活,自己对比一下我模板的和RHODIUM原始的就知道了。
所以这里就不说具体的过程了,这里简单说一下一个OEM包的制作,以及列一下rhodium的每个OEM包的简单说明吧。
1、BuildInfoPkg
ROM的基本信息
2、ConfigAP
里面有个config_AP.txt,供runcc第一次开机时调用,以进行安装CAB、处理XML等。
3、ConnectionSetupDB
这个是ConnectionSetup所需的数据包,里面包含了许多国家的运营商设置,这里也可以精简,去掉你用不上的国家数据库,这里的DB文件其实是与注册表中运营商显示相对应的(HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\RIL\\OperatorNames)。
另外里面的DB文件,其实是个ZIP包,不过是加密的了,密码也比较容易找,是明码写在ConnectionSetup.exe里的,用WINHEX搜索U码DBIndex,下面几行就可以看到明文的密码(030D681B-1DFC-4bd0-A72A-A9B3CCCDA653),解压后可以看见全是一些XML。(谢谢hzggz提供的方法)
4、ControlBlock
里面有个runcc.lua,是提供给RUNCC执行configxxx.txt用的,防止缺少某个config.txt时会定在安装界面。
5、ExtendedPkg
里面的config.txt就是供runcc用的配置文件,可以参考官方的来添加自己需要第一次开机进行安装的软件等。
6、OEMDrivers
驱动目录,若想换个驱动,除了换OEMDrivers之外,还要换相应版本的\\ROM\\XIP\\OEM\\OEMXIPKernel
7、OEMMISC
windows同步等?(待高人详解)
8、OEMVersion
ROM版本号的注册表
9、OEM_Lang_0409
系统基本相关配置,上面已经详细说过了。
10、OperatorPkg
运营商的一些设置
10、OperatorPkg_PT
同上
11、PACKAGE_RHODIUM_S2_AdobePDF
AdobePDF的OEM包,看PDF用的软件
12、PACKAGE_RHODIUM_S2_AdvancedNetwork
高级网络
13、PACKAGE_RHODIUM_S2_aGPS_Confirmation
AGPS OEM包(不知道为什么PRO2的AGPS用不了)
14、PACKAGE_RHODIUM_S2_Album
相册
15、PACKAGE_RHODIUM_S2_AppointmentEditor
约会编辑
16、PACKAGE_RHODIUM_S2_App_Service
电话相关服务
17、PACKAGE_RHODIUM_S2_Arphic_CHS_WWE_Font
亚太版的粗黑字体
18、PACKAGE_RHODIUM_S2_Audio_Booster
音频增强器
19、PACKAGE_RHODIUM_S2_Audio_Manager_Engine
马尼拉的音频管理器
20、PACKAGE_RHODIUM_S2_BCR_WWE
名片识别程序
21、PACKAGE_RHODIUM_S2_Boot_Launcher
开机加载服务、程序
22、PACKAGE_RHODIUM_S2_BrowserSnapshot
IE相关增强组件
23、PACKAGE_RHODIUM_S2_Calculator
HTC的计算器
24、PACKAGE_RHODIUM_S2_Camera_HTC_ALL
HTC相机
25、PACKAGE_RHODIUM_S2_ClearStorage
恢复出厂设置
26、PACKAGE_RHODIUM_S2_CMBandSwitching_HTC_ALL
频段
27、PACKAGE_RHODIUM_S2_CMCallBarring
呼叫
28、PACKAGE_RHODIUM_S2_CMCallerID
本机号码
29、PACKAGE_RHODIUM_S2_CMCallForwarding
呼叫转移
30、PACKAGE_RHODIUM_S2_CMCallWaiting
呼叫等待
31、PACKAGE_RHODIUM_S2_CMPhoneVMSetting
语音邮件和短信
32、PACKAGE_RHODIUM_S2_CMPhone_HTC_ALL
手机设置
33、PACKAGE_RHODIUM_S2_CMPin
PIN 码
34、PACKAGE_RHODIUM_S2_CommManager_HTC_ALL
无线控制(通讯管理器)
35、PACKAGE_RHODIUM_S2_Concurrence_Mgr
htc界面插件的控制,比如htc音量体界面调节(谢谢sundream说明)
36、PACKAGE_RHODIUM_S2_ConnectionSetup_HTC_ALL
连接设置
37、PACKAGE_RHODIUM_S2_Contact_Picker
联系人组件
38、PACKAGE_RHODIUM_S2_Contact_Utility_Engine
马尼拉联系人组件
39、PACKAGE_RHODIUM_S2_DataDisconnect
断开数据连接
40、PACKAGE_RHODIUM_S2_DeviceInfo
设备信息
41、PACKAGE_RHODIUM_S2_DRM_Middleware
多媒体相关组件
42、PACKAGE_RHODIUM_S2_Dshow
多媒体相关组件
43、PACKAGE_RHODIUM_S2_Email_Setup_Wizard
邮箱设置
44、PACKAGE_RHODIUM_S2_ExtNewPhoneSetting
新电话设置
45、PACKAGE_RHODIUM_S2__Engine
组件
46、PACKAGE_RHODIUM_S2_Field_T_e_s_t
FieldTest测试工具
47、PACKAGE_RHODIUM_S2_FlashLiteShareDLL
Flash组件
48、PACKAGE_RHODIUM_S2_FM_Radio
收音机
49、PACKAGE_RHODIUM_S2_FormatSD
格式化SD卡
50、PACKAGE_RHODIUM_S2_Full_Screen_Player
视频播放
51、PACKAGE_RHODIUM_S2_GoogleLocationService
52、GOOGLE我的位置服务
53、PACKAGE_RHODIUM_S2_GPS_GMM
54、GOOGLE地图
55、PACKAGE_RHODIUM_S2_GroupEditor
群组编辑
56、PACKAGE_RHODIUM_S2_G_Sensor_Calibrator
重力调节
57、PACKAGE_RHODIUM_S2_HTCAnimation
开机动画
58、PACKAGE_RHODIUM_S2_HTCApplication
、HTC服务(车载、蓝牙?)
59、PACKAGE_RHODIUM_S2_HTCBirthday
生日提醒?
60、PACKAGE_RHODIUM_S2_HTCBookmark
收藏夹相关
61、PACKAGE_RHODIUM_S2_HTCFDN
固定拨号
62、PACKAGE_RHODIUM_S2_HTCFont_Link
字体映射
63、PACKAGE_RHODIUM_S2_HTCFramework
htc执行构架:
分支:仅用于htc的apps与可支持界面时间的增强版本(谢谢sundream说明)
、PACKAGE_RHODIUM_S2_HTCGeoService
我的位置服务
65、PACKAGE_RHODIUM_S2_HTCMessage
警告信息相关
66、PACKAGE_RHODIUM_S2_HTCMessaging_Client
HTC信息
67、PACKAGE_RHODIUM_S2_HTCScroll
滚动组件
68、PACKAGE_RHODIUM_S2_HTCSettings
蓝牙可见模式超时设置
69、PACKAGE_RHODIUM_S2_HTCStartUp
开机启动服务?
70、PACKAGE_RHODIUM_S2_HTCUtil
HTC电话服务?
71、PACKAGE_RHODIUM_S2_IE6Enhancement
IE6增强组件
72、PACKAGE_RHODIUM_S2_IME_CHS
HTC输入法
73、PACKAGE_RHODIUM_S2_IME_Tutorial
HTC输入法教程
74、PACKAGE_RHODIUM_S2_InvokeSIMMgr
SIM卡管理器
75、PACKAGE_RHODIUM_S2_Java_JblendPackage_2_1
JAVA模拟器
76、PACKAGE_RHODIUM_S2_JETCET_Print
蓝牙打印机
77、PACKAGE_RHODIUM_S2_LockScreenAppLauncher
锁屏
78、PACKAGE_RHODIUM_S2_LockstreamDRM
流媒体相关组件
78、PACKAGE_RHODIUM_S2_Long_Press_End_Key
长按结束键
79、PACKAGE_RHODIUM_S2_Manila_Calendar
马尼拉日历组件
80、PACKAGE_RHODIUM_S2_Manila_Core
马尼拉核心组件
81、PACKAGE_RHODIUM_S2_Manila_Home
马尼拉首页组件
82、PACKAGE_RHODIUM_S2_Manila_Internet
马尼拉网络组件
83、PACKAGE_RHODIUM_S2_Manila_Mail
马尼拉邮件组件
84、PACKAGE_RHODIUM_S2_Manila_Message
马尼拉信息组件
85、PACKAGE_RHODIUM_S2_Manila_Music
马尼拉音乐组件
86、PACKAGE_RHODIUM_S2_Manila_People
马尼拉联系人组件
87、PACKAGE_RHODIUM_S2_Manila_Photo
马尼拉相册与视频组件
88、PACKAGE_RHODIUM_S2_Manila_Settings
马尼拉设置组件
、PACKAGE_RHODIUM_S2_Manila_Stock
马尼拉股票组件
90、PACKAGE_RHODIUM_S2_Manila_Twitter
马尼拉Twitter组件
91、PACKAGE_RHODIUM_S2_Manila_Weather
马尼拉天气组件
92、PACKAGE_RHODIUM_S2_Media_Tool_kit
相册相关组件
93、PACKAGE_RHODIUM_S2_Menu_Enhancement
HTC增强菜单(大菜单)
94、PACKAGE_RHODIUM_S2_Message_Enhancement
信息增强组件
95、PACKAGE_RHODIUM_S2_mHub_VO
多媒体相关组件
96、PACKAGE_RHODIUM_S2_MicrophoneAGC
自动音量控制
97、PACKAGE_RHODIUM_S2_MP3_Trimmer
MP3剪辑器
98、PACKAGE_RHODIUM_S2_MS_
组件
99、PACKAGE_RHODIUM_S2_Mute
静音组件
100、PACKAGE_RHODIUM_S2_MyCPL
设置组件
101、PACKAGE_RHODIUM_S2_New_Contact_Card
联系人组件
102、PACKAGE_RHODIUM_S2_Notification_Enhancement
通知增强,里面的NTFConfig.dll模块与PRB不兼容,必须转换成文件形式,否则会死第一屏。转换方法:将NTFConfig.dll目录拖到tools\\RecMod.exe身上,NTFConfig.dll目录里就会产生一个NTFConfig.dll文件,将这个文件移到其他地方,删掉NTFConfig.dll目录再把NTFConfig.dll文件复制回OEM包里即可。
103、PACKAGE_RHODIUM_S2_OOBE
第一次开机演示
104、PACKAGE_RHODIUM_S2_Opera_Browser
OPERA OEM包
105、PACKAGE_RHODIUM_S2_PhoneSetting
电话设置
106、PACKAGE_RHODIUM_S2_Phone_Canvas_Enhancement
电话面板
107、PACKAGE_RHODIUM_S2_Picture_Enhancement
图片增强
108、PACKAGE_RHODIUM_S2_PKG
未知……
109、PACKAGE_RHODIUM_S2_Power
电源
110、PACKAGE_RHODIUM_S2_PowerOffWarning
长按关机键提示
111、PACKAGE_RHODIUM_S2_Quick_GPS
快速GPS
112、PACKAGE_RHODIUM_S2_Random_Access
联系人划选
113、PACKAGE_RHODIUM_S2_Redial
重拨
114、PACKAGE_RHODIUM_S2_Resource_Proxy
图片资源缓存(会占用很多内存)
115、PACKAGE_RHODIUM_S2_Ringtone_Plugin
铃声插件
116、PACKAGE_RHODIUM_S2_RSSHub
RSSHub OEM包
117、PACKAGE_RHODIUM_S2_RunCC
开机第一次运行的程序
118、PACKAGE_RHODIUM_S2_Sensor_SDK
重力SDK包
119、PACKAGE_RHODIUM_S2_Settings_Improvement
增强设置
120、PACKAGE_RHODIUM_S2_SharedResource
与HTCFramework配套组件
121、PACKAGE_RHODIUM_S2_Shared_Modules
振动等需要的共享组件
122、PACKAGE_RHODIUM_S2_SignatureReplace
?
123、PACKAGE_RHODIUM_S2_SimContactImport
导入 SIM 卡联系人
124、PACKAGE_RHODIUM_S2_SimLock
SIM卡锁定
125、PACKAGE_RHODIUM_S2_SIM_Mgr_hTC_Asia_WWE
SIM卡管理器
126、PACKAGE_RHODIUM_S2_SlidingSound
侧滑声音
127、PACKAGE_RHODIUM_S2_Social_Networks_Engine
账户管理
128、PACKAGE_RHODIUM_S2_StartIconLoader
马尼拉启动组件
129、PACKAGE_RHODIUM_S2_STK_Service
STK服务
130、PACKAGE_RHODIUM_S2_STK_UIPPC
STK相关组件
131、PACKAGE_RHODIUM_S2_StorageLow
存储器容量低警告
132、PACKAGE_RHODIUM_S2_Streaming_Media
流媒体播放
133、PACKAGE_RHODIUM_S2_Streaming_SDK
流媒体库
134、PACKAGE_RHODIUM_S2_TaskBarIconMgr
任务栏图标
135、PACKAGE_RHODIUM_S2_Teeter
重力球游戏
136、PACKAGE_RHODIUM_S2_Text_Selection
马尼拉信息文字复制选择
137、PACKAGE_RHODIUM_S2_TimeZoneAutoFix
自动对时
138、PACKAGE_RHODIUM_S2_TVOutPopUp
电视输出
139、PACKAGE_RHODIUM_S2_TVOutSetting
电视输出组件
140、PACKAGE_RHODIUM_S2_USB_To_PC_Pop_Up
USB TO PC组件
141、PACKAGE_RHODIUM_S2_USSD_Service
htc上通用的服务,具体有什么作用不清楚……
142、PACKAGE_RHODIUM_S2_VBookmarkMgr
书签?
143、PACKAGE_RHODIUM_S2_Video_Telephony
可视电视
144、PACKAGE_RHODIUM_S2_Voice_Recorder
录音机
145、PACKAGE_RHODIUM_S2_Volume_Control
音量控制
146、PACKAGE_RHODIUM_S2_Wi-FiWizard
Wi-Fi向导
147、PACKAGE_RHODIUM_S2_WiFiSettings
WiFi设置
148、PACKAGE_RHODIUM_S2_WLANSettings
无线网络设置
149、PACKAGE_RHODIUM_S2_
的OEM
150、PACKAGE_RHODIUM_S2_zlibce_m
解码组件,manila等部分媒体程序用到(谢谢sumdream说明)
151、ProjectDefault_A
文件夹图标
152、ProjectDefault_B
声音与墙纸
153、ProjectDefault_C
一些版本的注册表
基本就是这样,有错误的地方请大家指正。
第五章 OEM包制作
将我以前写的教程复制过来……(以前只在IVGA发过)
定制个人ROM时常常会加入自己所需要的软件吧,这样就需要这个软件的OEM包了,而OEM包可以使用别人做的,而如果这个软件没人做成OEM包的话就要自己做了。而且如果某个软件使用有问题,要想分析是不是OEM包的问题,也得有OEM包的相关知识,因此在这里我简单的说一下OEM包是如何制作的吧。
一、OEM包的结构
OEM包通常包含的文件如下:
1、DSM文件(必需):OEM必需的文件只有一个,就是DSM文件。而DSM的文件名必须是一串GUID码,这个GUID码可以用GUID码生成器来随机生成一个。这个文件可以是空文件,官方的之所以有内容,是因为含有该目录里的文件列表及签名。
2、RGU文件:这个是注册表文件,文件名必须和DSM一致才可以。首行必须为REGEDIT4,最后一行必须为空行,编码格式为UNICODE。
3、initflashfiles.txt,这个是复制文件用的,将OEM包里的文件复制到其他目录。我们只需掌握两种命令格式就可以了:
(1)创建目录:Directory(”源目录”):-Directory(”新建目录”)
例如:Directory(”\\Program Files”):-Directory(”PlumSIP61″)
代表在\\Program Files目录下新建一下PlumSIP61目录
(2)复制文件:Directory(”目标目录”):-File(”文件名”,”源目录文件”)
例如:Directory(”\\windows\\startup”):-File(”PlumStart6.lnk”,”\\Windows\\PlumStart6.lnk_1″)
代表将\\Windows\\PlumStart6.lnk_1这个文件复制到\\windows\\startup,并改名为PlumStart6.lnk
比较简单吧
4、option.xml,这个文件是提供信息给build os显示OEM包说明的,完整的比较长,我们可以简单点,只需基本的几句就可以了,如下是点讯6.1的option.xml:
对应的说明:
即:
第一第二行我们不需要改
第三行的Item name=”**XX”是显示在buildos里的文字,group=”**x”是分组,相同分组的OEM会在一起显示,后面的checked=”true”是默认勾选状态,其中true代表默认勾上,而false则是不勾选
第四行的
第五行是这个OEM的GUID码,必须和DSM的GUID码一致才可以,否则build os可能无法开启
5、其余文件:OEM软件的文件
二、以绿色软件pim ppcbackup举例说明制作一个绿色软件的OEM包
1、这个软件是绿色软件,只有一个EXE文件,可以在任意目录运行,并且是没有注册表的,因此这个OEM包就很容易制作:
(1)在OEM目录下面新建一个目录,名字为ppcbackup2.8吧,直观点
(2)把PPCPimBackup.exe放在里面
(3)打开GUID生成器.exe,然后选择第一项“只生成DSM文件”,然后点击生成文件,这样就会在GUID生成器.exe的目录里生成一个DSM文件,68BE2663-A7BC-4ff7-B0A8-85B379A201EA.dsm,把这个DSM文件复制到ppcbackup2.8目录里
(4)新建一个快捷方式,后缀名是lnk,可以先新建一个txt文件,内容为:
#”\\Windows\\PPCPimBackup.exe”
然后再将txt改名为PIMbackup.lnk
可以看见快捷方式的格式很简单,前面是一个#,然后接着是引号括着的源文件的路径,因为OEM里的文件会全部放在windows里,所以快捷方式就要引到\\Windows\\PPCPimBackup.exe
(5)我们还在将快捷方式复制到开始菜单的程序里才可以,方便打开这个软件,我们总不能每次用这个软件都进入windows目录再打开PPCPimBackup.exe吧,新建一下initflashfiles.txt,内容如下:
Directory(”\\Windows\“开始”菜单\程序”):-File(”个人信息备份PimBackup.lnk”,”\\Windows\\pimbackup.lnk”)
(6)新建一个option.xml,内容如下:
2、这样一个绿色软件pimbackup的OEM包就建立完毕,比较简单吧,打开build os就可以看见有pimbackup这个OEM包了,弄好ROM刷了之后,在开始/程序就可以看见个人信息备份PimBackup,点击打开试试吧
三、以google map简体CAB安装包为例做个OEM软件
1、去google网站下载个简体的cab安装包回来
2、用WinCE CAB Manager3.0打开这个CAB包,可以看见里面有4个文件、1个快捷方式及15项注册表其中3个文件是在%CE1%\\ChinaGoogleMaps,还有一个strings-all.zlb是在%CE19%\\ChinaGoogleMaps,WinCE CAB Manager的帮助有关于%CEX%代表着什么目录,其中%CE1%是\\Program Files,%CE19%是\\Application Data
3、因此我们可以将这4个文件解出来,然后再导出注册表,再用initflashfiles.txt将这4个文件复制到相关目录,然后再复制一个快捷方式到开始/程序里就OK了
4、不过我们试一下更简单的方法,就是使用cab转oem包软件package-creator-v2.7
5、这个软件的使用很简单,打开软件,点击open cab file,选择GoogleMaps_compressed.CAB,然后过一会儿package-creator-v2.7就会弹出done的窗口,然后你就可以发现package-creator-v2.7目录下有个GoogleMaps_compressed的目录,这个就是GoogleMaps_compressed的OEM包了,DSM、RGU、option.xml、initflashfiles.txt全都有,很简单吧
6、不过我们还要打开initflashfiles.txt看看有要修正的不。
Directory(”\\Windows”):-Directory(”开始”菜单)
Directory(”\\Windows\”开始”菜单”):-Directory(”程序”)
Directory(”\\Windows\”开始”菜单\程序”):-File(”China Google Maps.lnk”,”\\Windows\\China Google Maps.lnk”)
其中第一第二行我们删掉,因为本来就是有\\windows\“开始”菜单\程序这个目录的,所以不用新建。其余没什么。
最后我们修改一下option.xml,将GoogleMaps_compressed改成GoogleMaps简体2.2.1.4,要不然在build os里我们很容易搞混,呵呵
7、这样子不OK了,使用这个软件可以很快捷的制作到OEM包来,不过我们记住做好后要查看一下有没有错误哦
四、最后以一个比较复杂的点讯6.1的CAB做成OEM包吧
1、去官方网下载6.1.0008的安装包
2、用package-creator-v2.7打开点讯CAB包,然后会生成PlumSIP Pro VGA V6_1_0008目录
3、不过这次可没这么简单,因为点讯6.1含有三个皮肤,即钻石皮肤、横屏钻石皮肤、以前的默认皮肤,而这三个皮肤的文件名是一样的,用package-creator-v2.7转换的话只会留下一个同名文件,其余的应该被覆盖了。另外键盘定义文件也有两套4个是同名的
4、因此这次我们不能偷懒了……我们用WinCE CAB Manager打开点讯的CAB包,点击一下排序栏的“位置”进行安装目录排序,我们先把%CE1%\\PlumSIP61\\skin\\Diamond里的文件解压出来,然后将这样文件的后缀名都加个_,如将改成
5、我们再把%CE1%\\PlumSIP61\\skinw\\Diamond的文件解压出来,这次都在后面加上_2来区别
6、再将%CE1%\\PlumSIP61\\skin\\Normal的文件解压出来,因为前面两个皮肤都改名了,所以这个就不用改名了
7、还有键盘定义文件也有两套,我们将%CE1%\\PlumSIP61\\skink\\hotkey的4个文件解压出来,后面加上个_区别一下吧
8、再将%CE1%\\PlumSIP61\\skink\\NumSel里的4个文件解压出来,这个就不用改名了
9、好了,这样所有文件都齐了,我们修改一下initflashfiles.txt,将刚才改名的文件一一在initflashfiles.txt对应修改,如原本的:
Directory(”\\Program Files\\PlumSIP61\\skin\\Diamond”):-File(”bh.ini”,”\\Windows\\bh.ini”)
改成:、
Directory(”\\Program Files\\PlumSIP61\\skin\\Diamond”):-File(”bh.ini”,”\\Windows\\bh.ini_”)
即只需将最后的\\Windows\\bh.ini改成\\Windows\\bh.ini_
10、难道这样就OK了吗?不,这样订制进去的话不是默认输入法的哦……点讯的默认输入法实现方法是在\\windows\\startup目录建个快捷方式,每次开机时会将点讯设成默认输入法的
11、而CAB包里有个setup.dll这个安装库文件,我不懂编程,所以不知道这个文件具体都有什么用,不过据我的推荐,这个文件有两个作用,1、是CAB安装完成时将PlumStart6这个文件改名为PlumStart6.lnk复制到\\windows\\startup,并提示是否重启;2、是将输入法由PlumSIP 6.1改名为点讯输入 6.1。
12、因此,我们先将PlumStart6改名为PlumStart6.lnk,可以打开这个快捷方式看一下,可以看见内容是(40#”\\Program Files\\PlumSIP61\\PlumStart6.exe”),证明确实是个快捷方式来的
13、然后在initflashfiles.txt里加入一句:
Directory(”\\windows\\startup”):-File(”PlumStart6.lnk”,”\\Windows\\PlumStart6.lnk”)
14、然后将RGU里的:
[HKEY_CLASSES_ROOT\\CLSID\\{7DA6EDD4-0FBB-4ed0-BAB8-63F45FF9B5}]
“default”=”PlumSIP 6.1″
改成:
[HKEY_CLASSES_ROOT\\CLSID\\{7DA6EDD4-0FBB-4ed0-BAB8-63F45FF9B5}]
“default”=”点讯输入 6.1″
这样就OK了~~~
15、不过点讯6.1默认是不开启键盘输入的,我们修改下一下使默认就是支持键盘的吧,人性化一点,呵呵。打开RGU文件,将:
[HKEY_CLASSES_ROOT\\CLSID\\{7DA6EDD4-0FBB-4ed0-BAB8-63F45FF9B5}\\Option]
“useKey”=”0″
由0改成1就OK了,这项就是是否支持键盘的注册表
16、完成~~~
五、EXT包与OEM包的区别
EXT包的制作比OEM包要简单些,因为EXT包是不需要DSM的,而且REG的格式要求也比RGU的低。
基本结构如下:
EXT OEM包
|
|–app.reg(注册表,支持Unicode和ANSI,最后无需空行)
|–app.dat(和initflashfiles.txt一样,复制文件用)
|–\\files\(files目录,放置OEM包文件)
|–\\0804\(语言包目录,放置相应语言的MUI及)
|–app.reg(语言包注册表)
|–app.dat(语言包复制文件)
只是目录结构及注册表、复制文件不同而已,现在也有不少工具可以将EXT和OEM相互转换的。
第六章 添加必需OEM包及注册表优化
1、字体OEM包
如果之前在SYS里删掉了新宋体的字体,以及OEM包里的粗黑字体,那我们必须加上一个自己喜欢的字体,否则系统会显示不出中文的。我比较喜欢雅黑5.0,这个是完全不会出界的字体。
2、注册表优化
我们还可以修改注册表,调整一些细节,以下是我的优化注册表,可以放在最后的目录里,以便覆盖前面的注册表。