视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
手机ROM制作教程
2025-09-24 00:06:38 责编:小OO
文档
第零章  前言

包括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:

点讯6.1.0008_by_pcg

22361577-db8d-4443-8a2a-02af017e7298

对应的说明:

鼠标放在该项时弹出来的说明(非必须)

这个OEM的GUID码

即:

第一第二行我们不需要改

第三行的Item name=”**XX”是显示在buildos里的文字,group=”**x”是分组,相同分组的OEM会在一起显示,后面的checked=”true”是默认勾选状态,其中true代表默认勾上,而false则是不勾选

第四行的**XX是鼠标放在该项时弹出来的说明,不要这个也不会有影响

第五行是这个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,内容如下:

IMBACKUP个人信息备份恢复工具2.8

68BE2663-A7BC-4ff7-B0A8-85B379A201EA

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、注册表优化

我们还可以修改注册表,调整一些细节,以下是我的优化注册表,可以放在最后的目录里,以便覆盖前面的注册表。下载本文

显示全文
专题