03
12

windowsmobile不完全定制教程(六)

           系列6. 定制OS常见错误及解决方法

定制常见错误及解决方法本文将介绍在BuildOS过程常出现的一些错误提示及其解决方法。在制作OS过程中主要出现的错误有2种,一个是重复文件错误和rgu文件错误。
1. 重复文件错误
重复文件的解决方法最简单,直接将重复文件删除就是了。但建议你最好做个记录,那些文件是因为重复而被删除了。重复文件错误可以细分为2种:
1.1 OEM Package有重复文件
我们先谈谈第一种。如在系列4制作OEM Package Part2中,我曾介绍过制作GSFinder的OEM Package和只制作GSFinder快捷方式的OEM Package,如果在定制过程中,误将2个OEM Package都选中,如图1,

 


Fig.1 同时选中2个GSFinder OEM Package
点击绿色三角形开始制作OS后,就会出现图2的错误提示:”\temp\dump\GSFinder.lnk已存在”

Fig.2 错误提示:”GSFinder.lnk”已存在
同时BuildOS.exe的状态栏会显示是哪个过程出错,如图3,处理OEM\Link_GSFinder时候出错。

Fig.3 BuildOS的状态栏错误提示
打开浏览器,在My_ROM_Kitchen下搜索GSFinder.lnk,如图4。

Fig.4 在My_ROM_Kitchen目录下搜索GSFinder.lnk
图5是GSFinder.lnk的搜索结果,可以看到在GSFinder和Link_GSFinder下均有同名GSFinder.lnk文件。所以,2者不能同时被制作进ROM,2者删其一即可。

Fig.5 GSFinder.lnk的搜索结果
2. OEM Package的文件和系统自带文件重复
一些OEM Package可能有些文件和系统自带的程序重复。如HTC X-Button 1.5,一个HTC出的任务管理软件,里面就有很多文件和OEMAPPS下的文件重复。可以在文末下载它的OEM Package。将它复制到\My_ROM_Kitchen\OEM目录下。运行BuildOS,如图6。

Fig.6 选中HTC X-Button 1.5
BuildOS在处理OEMAPPS的时候,将会提示exitbutton.bmp文件重复错误。如图7。

Fig.7 错误提示:”exitbutton.bmp已存在”
用浏览器搜索exitbutton.bmp,发现在HTC X-Button 1.5和OEMAPPS目录下均有此文件。

Fig.8 exitbutton.bmp的搜索结果
不单单是exitbutton.bmp,X-Button1.5还有很多文件和系统自带的重复,可以见图9,左边是OEMAPPS下的系统自带文件,右边是X-Button的文件。红色方框内的文件都是重复文件。

Fig.9 X-Button1.5的重复文件
2. rgu文件错误
rgu文件错误通常比较麻烦,在出现错误提示后,必须到temp\log.txt,来查看是那个rgu文件出问题。rgu文件错误有如下几种。
2.1 未将rgu文件保存为unicode格式
运行BuildOS,在最后建立注册表示,会出现”Error building default.hv and user.hv!”(在创建default.hv和user.hv时出现错误)。如图10。

Fig.10 创建default.hv和user.hv错误
进入My_ROM_Kitchen\temp目录,打开log.txt,最后3行是错误提示,最后第3行提示在*.rgu(guid.rgu)的第1行出现错误。文件的第1行出现错误通常是未将rgu文件保存为unicode格式。解决方法就是用记事本将该文件打开,然后重新保存为unicode格式文件。

Fig.11 Log.txt内错误提示
2.2 rgu文件未以REGEDIT4开头
如果rgu文件未以REGEDIT4作为第1行,那么也会出现错误,log文件中也会提示第1行出现错误。解决方法就是添加REGEDIT4到rgu开头,并将之单独作为1行。
2.3 rgu文件未以空行作为最后一行
rgu文件的最后一行如果不是空行的话,也会建立hv的时候,提示出现错误。打开log文件,如果提示出现错误的行号是最后一行的话,那么肯定是该文件未能以空行结束。解决方法,也就是增加一个空行就可以了。
2.4 rgu文件中目录提示符是单斜杠不是双斜杠
我们曾在系列4编辑rgu文件时提过,注册表项中的单斜杠必须全部用双斜杠来表示。如图12显示,第12行语句是@=”\Windows\regedit.exe,-143″,正确的应该是:”@=\\Windows\\regedit.exe,-143″。

Fig.13 rgu内第12行代码
那么将出现第12行语句错误的提示。如图14。

Fig.14 log文件错误提示
为了简化rgu文件的测试,我编写了一个bat文件(test_hv_rgu.zip,在文末下载)来检查rgu是否存在错误。解压下载的test_hv_rgu.zip里面包括2个批处理文件,2个dll文件和一个rgucomp.exe。双击make_hv.bat来检查rgu文件是否能正确被转换成hv文件。运行界面如图15,请把拟测试的*.rgu文件重新命名为boot.rgu,并将它放到和批处理同一目录下。

Fig.15 运行make_hv.bat
按任意键开始转换,图16是因rgu文件非unicode格式而提示在第1行出现错误。

Fig.16 错误提示
如果过程没有错误,会提示<RGUComp> done! 如图17。

Fig.17 正常结束
用make_rgu.bat可以将hv文件转换为rgu文件。图18是该批处理的运行界面。将*.hv改名为user.hv。

Fig.18 运行make_rgu.bat
按任意键开始转换,图19是转换结果,一般不会有错误。

Fig.19 hv转换为rgu
在目录下生成user.rgu,如图20。

Fig.20 在目录下生成user.rgu
打开user.rgu,查看内容,如图21,前4行是RGUComp的信息,剩下的都是注册表表项。

Fig.21 user.rgu内容
下次,将发布我制作的基于Dopod官方WM6.0 ROM的ROM Kitchen
for Softbank。今天到此为止。

本文链接:江湖传闻 http://www.yybeta.com/783.html

1 条评论了已经

发表评论

名字(必须)
邮箱(不会被公布)(必须)
网址

字体为 粗体 是必填项目,邮箱地址 永远不会 公布。

允许部分 HTML 代码:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
URLs(网站链接)必须完整有效 (比如: http://www.yybeta.com),所有标签都必须完整的关闭。

超出部分系统将会自动分段及换行。

请保证评论内容是与日志或 Blog 内容相关的,灌水、攻击性或不恰当的评论 可能 会被编辑或删除。

    订阅

    友善閱讀


    分类

    最新评论

    热评文章