birdman 2007-4-24 18:06
[转]PKG文件范例详解
[table=98%][tr][td]转自[color=red]开发视界[/color]
运行maker.bat即可编译位于安装目录下的myapp.pkg,编译成功后将会在目录内产生一个myapp.sis文件,若编译失败(未有sis文件生成),请查看目录内生成的report.txt的错误报告
[/td][/tr][tr][td]深红粗体字为注释。注:标识了(非必要)的区段在未设置信息时可以省略不写,其他区段则不可省略。[/td][/tr][tr][td][b][color=#990000];编译信息开始(文件内注释用 ; 号来标识,如果PKG文件内包含双字节字符(比如中文,日文),则使用文本编辑工具保存时,必须将PKG文件编码保存为UNICODE,否则无法正常编译。)
[/color][/b][b][color=#990000]PKG文件头部信息--开始
[/color][/b][url=http://www.cnhrb.com/article/pkgex.htm#languages][b][color=#990000][u];语言支持(非必要)[/u][/color][/b][/url]
[color=#006699]&[/color][color=#ff0000]EN[/color][color=#006699],[/color][color=#ff0000]ZH
[/color][url=http://www.cnhrb.com/article/pkgex.htm#appname][b][color=#990000][u];安装程序标题,版本号及SIS文件UID[/u][/color][/b][/url]
[color=#006699]#{"[/color][color=#ff0000]Language Name 1[/color][color=#006699]","[/color][color=#ff0000]Language Name 2[/color][color=#006699]"},([/color][color=#ff0000]UID[/color][color=#006699]),[/color][color=#ff0000]0[/color][color=#006699],[/color][color=#ff0000]0[/color][color=#006699],[/color][color=#ff0000]0[/color][color=#006699],[/color][color=#ff0000]SH[/color][color=#006699],[/color][color=#ff0000]NC[/color][color=#006699],TYPE=[/color][color=#ff0000]SISAPP
[/color][url=http://www.cnhrb.com/article/pkgex.htm#platform][b][color=#990000][u];开发平台兼容性校验[/u][/color][/b][/url]
[color=#006699]([/color][color=#ff0000]UID[/color][color=#006699]),[/color][color=#ff0000]0[/color][color=#006699],[/color][color=#ff0000]0[/color][color=#006699],[/color][color=#ff0000]0[/color][color=#006699],{"[/color][color=#ff0000]Series60ProductID[/color][color=#006699]","[/color][color=#ff0000]Series60ProductID[/color][color=#006699]"}
[/color][b][color=#990000]PKG文件头部信息--结束
[/color][/b][b][color=#990000];安装文件信息--开始
[/color][/b][url=http://www.cnhrb.com/article/pkgex.htm#single_lan][b][color=#990000][u];单语言文件安装[/u][/color][/b][/url]
[color=#006699]"[/color][color=#ff0000]PCSourceFile\MyApp.app[/color][color=#006699]"-"[/color][color=#ff0000]MobileDestFile\MyApp.app[/color][color=#006699]"
[/color][url=http://www.cnhrb.com/article/pkgex.htm#multilanguage][b][color=#990000][u];多语言文件安装(如果是单语言安装程序,则此段可省略)[/u][/color][/b][/url]
[color=#006699]{
"[/color][color=#ff0000]PCSourceFile\MyApp.rEN[/color][color=#006699]"
"[/color][color=#ff0000]PCSourceFile\MyApp.rZH[/color][color=#006699]"
}-"[/color][color=#ff0000]MobileDestFile\MyApp.rsc[/color][color=#006699]"
[/color][url=http://www.cnhrb.com/article/pkgex.htm#requisite][b][color=#990000][u];必要组件校验(非必要)[/u][/color][/b][/url]
[color=#006699]([/color][color=#ff0000]UID[/color][color=#006699]),[/color][color=#ff0000]0[/color][color=#006699],[/color][color=#ff0000]0[/color][color=#006699],[/color][color=#ff0000]0[/color][color=#006699],{"[/color][color=#ff0000]Language Name 1[/color][color=#006699]","[/color][color=#ff0000]Language Name 2[/color][color=#006699]"}[/color]
[url=http://www.cnhrb.com/article/pkgex.htm#addon][b][color=#990000][u];可选附加组件(非必要)[/u][/color][/b][/url]
[color=#006699]!({"[/color][color=#ff0000]Language Name 1 for Add-on 1 (20kb)[/color][color=#006699]","
[/color][color=#ff0000]Language Name 2 for Add-on 1 (20kb)[/color][color=#006699]"},{"[/color][color=#ff0000]Language Name 1 for Add-on 2 (20kb)[/color][color=#006699]","[/color]
[color=#ff0000]Language Name 2 for Add-on 2 (20kb)[/color][color=#006699]"})
[/color][url=http://www.cnhrb.com/article/pkgex.htm#if][b][color=#990000][u];条件判断(非必要,如果可选附加组件部分没有写,那么此部分也不需要写)[/u][/color][/b][/url]
[color=#006699]IF option1
"[/color][color=#ff0000]PCSourceFile\addon\MyPic.gif[/color][color=#006699]"-"[/color][color=#ff0000]!:\System\Apps\MyApp\addon\MyPic.gif[/color][color=#006699]"
ENDIF
[/color][url=http://www.cnhrb.com/article/pkgex.htm#requisite][b][color=#990000][u];附加SIS文件(非必要)[/u][/color][/b][/url]
[color=#006699]@"[/color][color=#ff0000]PCSourceFile[/color][color=#006699]",([/color][color=#ff0000]0x12345678[/color][color=#006699])
[/color][b][color=#990000];安装文件信息--结束[/color][/b][/td][/tr][tr][td][/td][/tr][tr][td][b][size=4][color=#0066cc]语言支持[/color][/size][/b]
[color=#006699]界面语言支持[/color]行,如果此行不写则取默认值[color=#006699]&[/color][color=#ff0000]EN
[/color]一个SIS文件内可以包含多个界面语言版本,但只能安装一种语言(安装时会自动根据你的系统语言来安装相应的界面语言版本)
多个语言时用 [color=#006699],[/color] 分隔
多语言安装程序时不可省略[color=#006699]界面语言支持[/color]行
·单一语言:[color=#006699]&[/color][color=#ff0000]ZH
[/color]·多语言:[color=#006699]&[/color][color=#ff0000]EN[/color][color=#006699],[/color][color=#ff0000]ZH
[/color][table=98%][tr][td=1,1,84]参数值[/td][td=1,1,129]说明[/td][td=1,1,99]参数值[/td][td=1,1,149]说明[/td][td=1,1,88]参数值[/td][td=1,1,143]说明[/td][td=1,1,87]参数值[/td][td=1,1,151]说明[/td][/tr][tr][td=1,1,84]AF[/td][td=1,1,129]荷兰语(南非)[/td][td=1,1,99]FI[/td][td=1,1,149]芬兰语[/td][td=1,1,88]LS[/td][td=1,1,143]西班牙语(拉丁美洲)[/td][td=1,1,87]SF[/td][td=1,1,151]法语(瑞士)[/td][/tr][tr][td=1,1,84]AH[/td][td=1,1,129]埃塞俄比亚语[/td][td=1,1,99]FR[/td][td=1,1,149]法语[/td][td=1,1,88]LT[/td][td=1,1,143]立陶宛语[/td][td=1,1,87]SG[/td][td=1,1,151]德语(瑞士)[/td][/tr][tr][td=1,1,84]AM[/td][td=1,1,129]英语(美国)[/td][td=1,1,99]FS[/td][td=1,1,149]瑞典语(芬兰)[/td][td=1,1,88]LV[/td][td=1,1,143]拉脱维亚语[/td][td=1,1,87]SQ[/td][td=1,1,151]阿尔巴尼亚语[/td][/tr][tr][td=1,1,84]AR[/td][td=1,1,129]阿拉伯语[/td][td=1,1,99]GA[/td][td=1,1,149]爱尔兰语[/td][td=1,1,88]MK[/td][td=1,1,143]马其顿语[/td][td=1,1,87]SW[/td][td=1,1,151]瑞典语[/td][/tr][tr][td=1,1,84]AS[/td][td=1,1,129]奥地利语[/td][td=1,1,99]GD[/td][td=1,1,149]盖尔人语(苏格兰)[/td][td=1,1,88]ML[/td][td=1,1,143]马拉亚拉姆语(印度)[/td][td=1,1,87]SZ[/td][td=1,1,151]意大利语(瑞士)[/td][/tr][tr][td=1,1,84]AU[/td][td=1,1,129]英语(澳大利亚)[/td][td=1,1,99]GE[/td][td=1,1,149]德语[/td][td=1,1,88]MN[/td][td=1,1,143]蒙古语[/td][td=1,1,87]TA[/td][td=1,1,151]泰米尔语[/td][/tr][tr][td=1,1,84]BE[/td][td=1,1,129]俄语(白俄罗斯)[/td][td=1,1,99]GU[/td][td=1,1,149]古吉拉特语(印度)[/td][td=1,1,88]MO[/td][td=1,1,143]摩尔多瓦语[/td][td=1,1,87]TC[/td][td=1,1,151]中文(台湾)[/td][/tr][tr][td=1,1,84]BF[/td][td=1,1,129]法语(比利时)[/td][td=1,1,99]HE[/td][td=1,1,149]希伯来语[/td][td=1,1,88]MR[/td][td=1,1,143]马拉提语(摩剌陀语)[/td][td=1,1,87]TE[/td][td=1,1,151]泰卢固语(印度)[/td][/tr][tr][td=1,1,84]BG[/td][td=1,1,129]保加利亚语[/td][td=1,1,99]HI[/td][td=1,1,149]印地语(印度)[/td][td=1,1,88]MS[/td][td=1,1,143]马来语[/td][td=1,1,87]TH[/td][td=1,1,151]泰语[/td][/tr][tr][td=1,1,84]BL[/td][td=1,1,129]佛兰德斯语(比利时)[/td][td=1,1,99]HK[/td][td=1,1,149]中文(香港)[/td][td=1,1,88]MY[/td][td=1,1,143]缅甸语[/td][td=1,1,87]TI[/td][td=1,1,151]厄立特里亚语[/td][/tr][tr][td=1,1,84]BN[/td][td=1,1,129]孟加拉语[/td][td=1,1,99]HR[/td][td=1,1,149]克罗地亚语[/td][td=1,1,88]NN[/td][td=1,1,143]尼诺斯克语(挪威)[/td][td=1,1,87]TK[/td][td=1,1,151]土库曼语[/td][/tr][tr][td=1,1,84]BO[/td][td=1,1,129]藏语[/td][td=1,1,99]HU[/td][td=1,1,149]匈牙利语[/td][td=1,1,88]NO[/td][td=1,1,143]挪威语[/td][td=1,1,87]TL[/td][td=1,1,151]塔加拉语(菲律宾)[/td][/tr][tr][td=1,1,84]BP[/td][td=1,1,129]葡萄牙语(巴西)[/td][td=1,1,99]HY[/td][td=1,1,149]亚美尼亚语[/td][td=1,1,88]NZ[/td][td=1,1,143]英语(新西兰)[/td][td=1,1,87]TU[/td][td=1,1,151]土耳其语[/td][/tr][tr][td=1,1,84]CA[/td][td=1,1,129]加泰罗尼亚语
(西班牙)[/td][td=1,1,99]IC[/td][td=1,1,149]冰岛语[/td][td=1,1,88]OS[/td][td=1,1,143]国际西班牙语[/td][td=1,1,87]VI[/td][td=1,1,151]越南语[/td][/tr][tr][td=1,1,84]CE[/td][td=1,1,129]英语(加拿大)[/td][td=1,1,99]IE[/td][td=1,1,149]国际英语[/td][td=1,1,88]PL[/td][td=1,1,143]波兰语[/td][td=1,1,87]UK[/td][td=1,1,151]乌克兰语[/td][/tr][tr][td=1,1,84]CF[/td][td]法语(加拿大)[/td][td=1,1,99]IF[/td][td]国际法语[/td][td=1,1,88]PO[/td][td]葡萄牙语[/td][td=1,1,87]UR[/td][td]乌尔都语[/td][/tr][tr][td=1,1,84]CS[/td][td]捷克语[/td][td=1,1,99]IN[/td][td]印度尼西亚语[/td][td=1,1,88]PA[/td][td]旁遮普语
(印度、巴基斯坦)[/td][td=1,1,87]ZH[/td][td]中文[/td][/tr][tr][td=1,1,84]CT[/td][td]塞浦路斯语[/td][td=1,1,99]IT[/td][td]意大利语[/td][td=1,1,88]RO[/td][td]罗马尼亚语[/td][td=1,1,87]ZU[/td][td]祖鲁语[/td][/tr][tr][td=1,1,84]CY[/td][td]威尔士语[/td][td=1,1,99]JA[/td][td]日语[/td][td=1,1,88]RU[/td][td]俄语[/td][td=1,1,87][/td][td][/td][/tr][tr][td=1,1,84]DA[/td][td]丹麦语[/td][td=1,1,99]KA[/td][td]格鲁吉亚语(土耳其)[/td][td=1,1,88]SI[/td][td]斯里兰卡语[/td][td=1,1,87][/td][td][/td][/tr][tr][td=1,1,84]DU[/td][td]荷兰语[/td][td=1,1,99]KK[/td][td]哈萨克语[/td][td=1,1,88]SK[/td][td]斯洛伐克语[/td][td=1,1,87][/td][td][/td][/tr][tr][td=1,1,84]EL[/td][td]希腊语[/td][td=1,1,99]KM[/td][td]柬埔寨语[/td][td=1,1,88]SL[/td][td]斯洛文尼亚语[/td][td=1,1,87][/td][td][/td][/tr][tr][td=1,1,84]EN[/td][td]英语([b]默认值[/b])[/td][td=1,1,99]KN[/td][td]坎拿达语(印度)[/td][td=1,1,88]SO[/td][td]索马里语[/td][td=1,1,87][/td][td][/td][/tr][tr][td=1,1,84]ET[/td][td]爱沙尼亚语[/td][td=1,1,99]KO[/td][td]韩语[/td][td=1,1,88]SP[/td][td]西班牙语[/td][td=1,1,87][/td][td][/td][/tr][tr][td=1,1,84]FA[/td][td]波斯语[/td][td=1,1,99]LO[/td][td]老挝语[/td][td=1,1,88]SR[/td][td]塞尔维亚语[/td][td=1,1,87][/td][td][/td][/tr][/table][/td][/tr][tr][td][/td][/tr][tr][td][size=4][b][color=#0066cc]安装程序信息
[/color][/b][/size]以[color=#006699]#{"[/color][color=#ff0000]RescoView[/color][color=#006699]","[/color][color=#ff0000]RescoView简体汉化版[/color][color=#006699]"},([/color][color=#ff0000]0x11111111[/color][color=#006699]),[/color][color=#ff0000]4[/color][color=#006699],[/color][color=#ff0000]10[/color][color=#006699],[/color][color=#ff0000]0[/color]为例说明:
1. [color=#006699]#{"[/color][color=#ff0000]RescoView[/color][color=#006699]","[/color][color=#ff0000]RescoView简体汉化版[/color][color=#006699]"}[/color]是安装程序标题
如果是单一语言的安装程序,则只写一个标题即可
如果是多语言安装程序,则需要按语言支持区段的语言顺序来依次(就是按[color=#006699]&[/color][color=#ff0000]EN[/color][color=#006699],[/color][color=#ff0000]ZH[/color]那个部分的顺序)输入各语言版本下的标题,标题名称用“[color=#006699],[/color]”分割
·单一语言:[color=#006699]#{"[/color][color=#ff0000]RescoView简体汉化版[/color][color=#006699]"}
[/color]·多语言:[color=#006699]#{"[/color][color=#ff0000]RescoView[/color][color=#006699]","[/color][color=#ff0000]RescoView简体汉化版[/color][color=#006699]"}
[/color]2.[color=#006699] ([/color][color=#ff0000]0x11111111[/color][color=#006699])[/color]是SIS安装文件的UID(自定义,SIS安装文件即是安装完成后在[color=#006699]C:\system\install\[/color]生成的相应SIS文件)
3. [color=#ff0000]4[/color][color=#006699],[/color][color=#ff0000]10[/color][color=#006699],[/color][color=#ff0000]0[/color]是程序安装时显示的版本号,[color=#ff0000]4[/color]是主版本号,[color=#ff0000]10[/color]是次版本号,[color=#ff0000]0[/color]是build版本号;[color=#ff0000]4[/color][color=#006699],[/color][color=#ff0000]10[/color][color=#006699],[/color][color=#ff0000]0[/color]在安装时显示的就是[color=#006699]4.10
[/color]4. [color=#ff0000]SH[/color][color=#006699],[/color][color=#ff0000]NC[/color]是SIS文件选项(此处为非必要参数)
[table=50%][tr][td=1,1,27%]参数值(缩写)[/td][td=1,1,28%]参数值(全称)[/td][td=1,1,45%]说明[/td][/tr][tr][td]SH[/td][td]SHUTDOWNAPPS
[/td][td]关闭应用程序[/td][/tr][tr][td]NC[/td][td]NOCOMPRESS
[/td][td]不压缩[/td][/tr][/table]
5. [color=#006699]TYPE=[/color][color=#ff0000]SISAPP[/color]是SIS文件的类型(如果未指定,则默认为[color=#006699]TYPE=[/color][color=#ff0000]SISAPP[/color])
[table=98%][tr][td=1,1,12%]参数值(缩写)[/td][td=1,1,12%]参数值(全称)[/td][td=1,1,76%]说明[/td][/tr][tr][td]SA[/td][td]SISAPP
[/td][td]标准的安装程序(默认值)[/td][/tr][tr][td]SY[/td][td]SISSYSTEM
[/td][td]此安装程序类型包含[color=#006699]系统库或共享库文件注册(DLL或OPX文件),这些库文件在主程序卸载时会一并卸载[/color][/td][/tr][tr][td]SO[/td][td]SISOPTION
[/td][td]此安装程序类型[color=#006699]安装时有可选组件,选择安装的组件在主程序卸载时会一并卸载[/color][/td][/tr][tr][td]SC[/td][td]SISCONFIG
[/td][td]此安装程序类型[color=#006699]可以配置已存在的程序或服务,此类型打包时不应该包含任何新文件。只能用来配置安装或运行过程中的文件显示及增加新组件等等操作。在程序管理列表中不会显示配置程序的卸载,需要手动卸载[/color][/td][/tr][tr][td]SP[/td][td]SISPATCH
[/td][td]此安装程序类型[color=#006699]会修复已存在的的程序,在程序管理列表中不会显示修复程序的卸载,需要手动卸载[/color][/td][/tr][tr][td]SU[/td][td]SISUPGRADE
[/td][td]此安装程序类型[color=#006699]可以升级已存在的程序,但在程序管理列表中不会显示升级程序的卸载,需要用户手动删除文件或重新关联程序才能撤销升级[/color][/td][/tr][/table][/td][/tr][tr][td][/td][/tr][tr][td][size=4][b][color=#0066cc]兼容性
[/color][/b][/size]此区段用来限制程序是否可以被正确安装在目标机型上(比如防止NOKIA Series60的软件安装在UIQ的机型上,避免造成程序错误)
以[color=#006699]([/color][color=#ff0000]0x101F6F88[/color][color=#006699]),[/color][color=#ff0000]0[/color][color=#006699],[/color][color=#ff0000]0[/color][color=#006699],[/color][color=#ff0000]0[/color][color=#006699],{"[/color][color=#ff0000]Series60ProductID[/color][color=#006699]","[/color][color=#ff0000]Series60ProductID[/color][color=#006699]"}[/color]为例说明:
1. [color=#006699]([/color][color=#ff0000]0x101F6F88[/color][color=#006699])[/color]是开发平台SDK的UID,也可以用具体机型的UID来限制
下表给出几个常见机型的平台UID及机型UID(由于能力问题,UID资料可能存在错误或不完全,请见谅)
以下对[url=http://www.sf.org.cn/symbian-os.html]Symbian OS[/url]几个版本以及Series60的性能做一下概述
[table=98%][tr][td]1.屏幕显示象素:176×208[/td][/tr][tr][td]2.支持Java (J2ME/MIDP 1.0)及C++开发[/td][/tr][tr][td]3.便于简单短周期的开发程序[/td][/tr][tr][td]4.提供多样性并强大的应用程序开发框架[/td][/tr][tr][td]5.Series60 v2.x版本提供了对Java (J2ME/MIDP 2.0)及界面主题模式的支持[/td][/tr][tr][td]6.[url=http://www.sf.org.cn/symbian-os.html]Symbian OS[/url] 8.0提供了对3G网络的支持[/td][/tr][/table]
[table=98%][tr][td=1,2,10%]SDK版本[/td][td=1,2,9%]UID[/td][td=2,1]Series60 SDK 0.9
(Symbian 6.1)[/td][td=2,1]Series60 SDK 2.0
(Symbian 7.0)[/td][td=2,1]Series60 SDK 2.0
(Symbian 8.0)[/td][/tr][tr][td]手机型号[/td][td]UID[/td][td]手机型号[/td][td]UID[/td][td]手机型号[/td][td]UID[/td][/tr][tr][td]Series60 0.9 [/td][td]0x101F6F88[/td][td]Nokia 7650[/td][td]0x101F6F87[/td][td=1,1,9%]Nokia 6600[/td][td=1,1,10%]0x101F7963[/td][td=1,1,9%]Nokia 6630[/td][td=1,1,10%]0x101F7964[/td][/tr][tr][td]Series60 1.0 [/td][td]0x101F795F[/td][td]Nokia 3650/3660/3620[/td][td]0x101F7962[/td][td=1,1,9%]Nokia 6620[/td][td=1,1,10%]0x1020216B[/td][td=2,8][/td][/tr][tr][td]Series60 1.1 [/td][td]0x101F8201[/td][td]Nokia N-Gage[/td][td]0x101F8A64[/td][td]Nokia 7610[/td][td]0x101FD5DB[/td][/tr][tr][td]Series60 1.2 [/td][td]0x101F8202[/td][td]Nokia N-Gage QD [/td][td][/td][td=2,6][/td][/tr][tr][td]Series60 2.0[/td][td]0x101F7960[/td][td]Siemens SX1[/td][td]0x101F9071[/td][/tr][tr][td]Series60 2.1 [/td][td]0x101F9115[/td][td]Sendo-X[/td][td]0x101FA031[/td][/tr][tr][td]Series60 2.2 [/td][td]0x10200BAB[/td][td]BenQ P30[/td][td]0x101FD279[/td][/tr][tr][td]UIQ 2.0 [/td][td]0x101F617B[/td][td=2,2][/td][/tr][tr][td]UIQ 2.1 [/td][td]0x101F61CE[/td][/tr][/table]
2. [color=#ff0000]2[/color][color=#006699],[/color][color=#ff0000]0[/color][color=#006699],[/color][color=#ff0000]0[/color]是平台的版本号,[color=#ff0000]2[/color]是主版本号,[color=#ff0000]0[/color]是次版本号,[color=#ff0000]0[/color]是build版本号,[color=#ff0000]2[/color][color=#006699],[/color][color=#ff0000]0[/color][color=#006699],[/color][color=#ff0000]0[/color]显示的版本就是[color=#006699]2.0
[/color]注:此处的版本号要根据UID来作相应改动。
例:如果UID是[color=#ff0000]0x101F6F88[/color](Series60 0.9),则主版本号则需要写成[color=#ff0000]0[/color],次版本号也写[color=#ff0000]0[/color]即可
提示:
·如果只是希望安装在某一特定机型上(比如N-Gage),则UID处写N-Gage的UID,而平台版本处写[color=#ff0000]0[/color][color=#006699],[/color][color=#ff0000]0[/color][color=#006699],[/color][color=#ff0000]0[/color]即可
·如果希望安装程序能在多个机型上安装(向老版本机型兼容),则UID处写最老那个机型的平台版本的UID,平台版本号处参照上边第[color=#006699]2[/color]条写
例:假使希望可以安装在N7650,N3650,N-Gage,N-Gage QD,N6600上,则写为[color=#006699]([/color][color=#ff0000]0x101F6F88[/color][color=#006699]),[/color][color=#ff0000]0[/color][color=#006699],[/color][color=#ff0000]0[/color][color=#006699],[/color][color=#ff0000]0[/color]
3. [color=#006699]{"[/color][color=#ff0000]Series60ProductID[/color][color=#006699]","[/color][color=#ff0000]Series60ProductID[/color][color=#006699]"}[/color]是平台类型校验字符串,用来目标机器的平台类型(UIQ或Series或其他类型)
[table=30%][tr][td]平台类型[/td][td]字符串[/td][/tr][tr][td]Nokia Series60 [/td][td]Series60ProductID[/td][/tr][tr][td]UIQ[/td][td]UIQ20PlatformProductID [/td][/tr][/table]
如果是单一语言的安装程序,则只写一个字符串即可
如果是多语言安装程序,则需要按语言支持区段的语言顺序来依次(就是按[color=#006699]&[/color][color=#ff0000]EN[/color][color=#006699],[/color][color=#ff0000]ZH[/color]那个部分的顺序)输入各语言版本下的校验字符串,字符串间用“[color=#006699],[/color]”分割
·单一语言:[color=#006699]{"[/color][color=#ff0000]Series60ProductID[/color][color=#006699]"}
[/color]·多语言:[color=#006699]{"[/color][color=#ff0000]Series60ProductID[/color][color=#006699]","[/color][color=#ff0000]Series60ProductID[/color][color=#006699]"}
[/color]由于WDA上大家汉化的软件常见的只有三种类型(其他包括的机型我没有写,因为论坛上几乎没人用)
Series60 0.9 & 1.x:包括N7650,N3650,N-GAGE,N-GAGE QD
Series60 2.x:包括N6600和N7610
Series60 0.9 & 1.x & Series60 2.x:包括以上所有机型
所以如果上边的暂时不太懂的话,那就照以下两种类型情况下的例子改写即可
Series60 0.9 & 1.x:[color=#006699]([/color][color=#ff0000]0x101F6F88[/color][color=#006699]),[/color][color=#ff0000]0[/color][color=#006699],[/color][color=#ff0000]0[/color][color=#006699],[/color][color=#ff0000]0[/color][color=#006699],{"[/color][color=#ff0000]Series60ProductID[/color][color=#006699]","[/color][color=#ff0000]Series60ProductID[/color][color=#006699]"}
[/color]Series60 2.x:[color=#006699]([/color][color=#ff0000]0x101F7960[/color][color=#006699]),[/color][color=#ff0000]2[/color][color=#006699],[/color][color=#ff0000]0[/color][color=#006699],[/color][color=#ff0000]0[/color][color=#006699],{"[/color][color=#ff0000]Series60ProductID[/color][color=#006699]","[/color][color=#ff0000]Series60ProductID[/color][color=#006699]"}
[/color]Series60 0.9 & 1.x & Series60 2.x:[color=#006699]([/color][color=#ff0000]0x101F6F88[/color][color=#006699]),[/color][color=#ff0000]0[/color][color=#006699],[/color][color=#ff0000]0[/color][color=#006699],[/color][color=#ff0000]0[/color][color=#006699],{"[/color][color=#ff0000]Series60ProductID[/color][color=#006699]","[/color][color=#ff0000]Series60ProductID[/color][color=#006699]"}[/color][/td][/tr][tr][td][/td][/tr][tr][td][size=4][b][color=#0066cc]文件的安装
[/color][/b][/size]格式为 [color=#006699]"[/color][color=#ff0000]PCSourceFile(PC端源文件)[/color][color=#006699]"-"[/color][color=#ff0000]MobileDestFile(手机端目标文件)[/color][color=#006699]",[/color][color=#ff0000]文件类型[/color][color=#006699],[/color][color=#ff0000]操作参数1[/color][color=#006699],[/color][color=#ff0000]操作参数2
[/color]以 [color=#006699]"[/color][color=#ff0000]D:\sis\files\MyApp.app[/color][color=#006699]"-"[/color][color=#ff0000]!:\System\Apps\MyApp\MyApp.app[/color][color=#006699]",[/color][color=#ff0000]文件类型[/color][color=#006699],[/color][color=#ff0000]操作参数1[/color][color=#006699],[/color][color=#ff0000]操作参数2[/color] 为例
1. [color=#ff0000]PC端源文件[/color]可以用相对路径(相对于pkg文件所在路径)也可以用绝对路径
例:假使你的PC端pkg文件在[color=#ff0000]D:\sis[/color],需要打包的PC端文件都在[color=#ff0000]D:\sis\files
[/color]相对路径:[color=#ff0000]files\MyApp.app
[/color]绝对路径:[color=#ff0000]D:\sis\files\MyApp.app
[/color]2. [color=#ff0000]手机端目标文件[/color]就是指定文件将被安装在手机的哪个目录中。
[color=#ff0000]![/color] 代表目标盘符,如果有文件必须安在手机的 [color=#ff0000]C[/color] 盘的话,改为 [color=#ff0000]C[/color] 即可
例1:[color=#ff0000]!:\System\Apps\MyApp\MyApp.app
[/color]例2:[color=#ff0000]C:\System\Apps\MyApp\MyApp.app
[/color]3. [color=#ff0000]文件类型[/color][color=#006699],[/color][color=#ff0000]操作参数1[/color][color=#006699],[/color][color=#ff0000]操作参数2[/color],如果[color=#ff0000]文件类型[/color]未指定(则默认为[color=#ff0000]FILE[/color])时可以省略[color=#ff0000]操作参数[/color];如果[color=#ff0000]操作参数1[/color]未指定时(则默认为[color=#ff0000]RUNINSTALL[/color])[color=#ff0000]操作参数2[/color]可以省略
例1:[color=#006699]"[/color][color=#ff0000]D:\sis\files\MyApp.app[/color][color=#006699]"-"[/color][color=#ff0000]!:\System\Apps\MyApp\MyApp.app[/color][color=#006699]",[/color][color=#ff0000]文件类型[/color][color=#006699],[/color][color=#ff0000]操作参数1[/color][color=#006699],[/color][color=#ff0000]操作参数2
[/color]例2:[color=#006699]"[/color][color=#ff0000]D:\sis\files\MyApp.app[/color][color=#006699]"-"[/color][color=#ff0000]!:\System\Apps\MyApp\MyApp.app[/color][color=#006699]",[/color][color=#ff0000]文件类型[/color][color=#006699],[/color][color=#ff0000]操作参数1
[/color]例3:[color=#006699]"[/color][color=#ff0000]D:\sis\files\MyApp.app[/color][color=#006699]"-"[/color][color=#ff0000]!:\System\Apps\MyApp\MyApp.app[/color][color=#006699]",[/color][color=#ff0000]文件类型
[/color]例4:[color=#006699]"[/color][color=#ff0000]D:\sis\files\MyApp.app[/color][color=#006699]"-"[/color][color=#ff0000]!:\System\Apps\MyApp\MyApp.app[/color][color=#006699]"
[/color][table=98%][tr][td=1,1,15%][/td][td=1,1,12%]参数值(缩写)[/td][td=1,1,24%]参数值(全称)[/td][td=1,1,49%]说明[/td][/tr][tr][td=1,7]文件类型[/td][td]FF[/td][td=1,1,24%]FILE[/td][td=1,1,49%]标准程序文件(默认值)[/td][/tr][tr][td=1,3]FT[/td][td=1,3,24%]FILETEXT[/td][td=1,1,49%]文本文件,如果指定了文件为文本类型,则在安装过程中会显示一个窗口来显示文本信息。
如果文本信息窗口的类型不指定,则默认为[color=#ff0000]TEXTCONTINUE
[/color]如果指定了文件为文本文件,则手机端目标路径处可以选择留空
(如果你希望该文本文件安装到手机上的话则需填写路径)
[/td][/tr][tr][td]例1: "[color=#ff0000]D:\sis\files\Readme.txt[/color]"-"[color=#ff0000]!:\System\Apps\MyApp\Readme.txt[/color]",[color=#ff0000]FT[/color] [/td][/tr][tr][td]例2: "[color=#ff0000]D:\sis\files\Readme.txt[/color]"-"",[color=#ff0000]FT[/color][/td][/tr][tr][td]FN[/td][td=1,1,24%]FILENULL[/td][td=1,1,49%]卸载指定文件,该类型不需要[color=#ff0000]源文件路径[/color]参数
实例(安装时卸载指定路径下的[color=#ff0000]setting.ini[/color]文件:
""-"[color=#ff0000]!:\System\Apps\MyApp\setting.ini[/color]",[color=#ff0000]FN[/color][/td][/tr][tr][td]FM[/td][td=1,1,24%]FILEMIME[/td][td=1,1,49%]指定安装文件的MIME类型,我们一般用不到,不做说明[/td][/tr][tr][td]FR[/td][td=1,1,24%]FILERUN[/td][td=1,1,49%]指定是运行文件。文件可以是exe文件,app文件或文本文档
如果文件被指定了非[color=#ff0000]FILERUN[/color]的类型,则可根据需要省略[color=#ff0000]操作参数1[/color]和[color=#ff0000]操作参数2[/color][/td][/tr][tr][td=1,4]文本信息窗口类型[/td][td]TC[/td][td]TEXTCONTINUE
[/td][td]只显示一个确认按钮,用户按下后会继续程序的安装[/td][/tr][tr][td]TS[/td][td]TEXTSKIP
[/td][td]显示一个确认按钮和一个取消按钮,用户按下确认按钮会继续安装
按下取消也会继续完成安装程序(但pkg文件内此文件行以下指定的安装文件将不会被安装)[/td][/tr][tr][td]TE[/td][td]TEXTEXIT
[/td][td]显示一个确认按钮和一个退出按钮,用户按下确认按钮会继续安装
按下退出按钮则会退出安装程序(已安装的文件会自动删除)[/td][/tr][tr][td]TA[/td][td]TEXTABORT
[/td][td]显示一个确认按钮和一个退出按钮,用户按下确认按钮会继续安装
按下退出按钮则会退出安装程序(之前已安装的文件不会被删除)[/td][/tr][tr][td=1,3]操作参数1[/td][td]RI[/td][td=1,1,24%]RUNINSTALL
[/td][td=1,1,49%]指定文件在安装时运行[/td][/tr][tr][td]RR[/td][td=1,1,24%]RUNREMOVE
[/td][td=1,1,49%]指定文件在卸载时被运行[/td][/tr][tr][td]RB[/td][td=1,1,24%]RUNBOTH
[/td][td=1,1,49%]指定文件在安装时运行,卸载时也运行[/td][/tr][tr][td=1,2]操作参数2[/td][td]RS[/td][td=1,1,24%]RUNSENDEND
[/td][td=1,1,49%]运行指定文件,自动运行指定文件,运行完后自动关闭文件来完成安装程序(只有指定为[color=#ff0000]操作参数1[/color]为[color=#ff0000]RUNINSTALL[/color]参数时才能使用此参数)[/td][/tr][tr][td]RW[/td][td=1,1,24%]RUNWAITEND
[/td][td=1,1,49%]运行指定文件,等待用户按键确认安装程序的完成[/td][/tr][/table]
4. [color=#006699]安装文件的多语言形式[/color],[color=#ff0000]手机端目标文件[/color]不变,[color=#ff0000]PC端源文件[/color]按照如下格式书写即可
[color=#ff0000]PC端源文件[/color]的顺序要按照语言顺序来依次(就是按[color=#006699]&[/color][color=#ff0000]EN[/color][color=#006699],[/color][color=#ff0000]ZH[/color]那个部分的顺序)书写([color=#ff0000]PC端源文件[/color]可用空格或换行分隔),字符串间用“[color=#006699],[/color]”分割
书写格式:[color=#006699]{
"[/color][color=#ff0000]D:\sis\files\MyApp.rEN[/color][color=#006699]"
"[/color][color=#ff0000]D:\sis\files\MyApp.rZH[/color][color=#006699]"
}-"[/color][color=#ff0000]!:\System\Apps\MyApp\MyApp.rsc[/color][color=#006699]"[/color][/td][/tr][tr][td][/td][/tr][tr][td][size=4][b][color=#0066cc]必要组件校验
[/color][/b][/size]此段是校验指定的程序(每个程序在安装时都会在手机端C:\System\install下生成一个同安装程序文件名的SIS文件,也就是校验这个SIS文件是否存在)是否存在,如果不存在,则pkg文件内,此行以下的安装文件将不会被安装
例:[color=#006699]([/color][color=#ff0000]0x123456789[/color][color=#006699]),[/color][color=#ff0000]1[/color][color=#006699],[/color][color=#ff0000]1[/color][color=#006699],[/color][color=#ff0000]0[/color][color=#006699],{"[/color][color=#ff0000]C Library[/color][color=#006699]","[/color][color=#ff0000]C语言运行库[/color][color=#006699]"}
[/color]1. [color=#ff0000]0x123456789[/color]是指定的SIS文件的UID(用SeleQ查看APP文件属性显示的[color=#006699]UID1[/color];用SmartFileMan显示的[color=#006699]UID1[/color])
2. [color=#ff0000]1[/color][color=#006699],[/color][color=#ff0000]1[/color][color=#006699],[/color][color=#ff0000]0[/color]是用于校验到SIS文件不存在时,错误提示中显示的版本号(假设C Library的SIS文件不存在,则会提示“[color=#006699]C Library 1.1不存在,请安装安装后再安装本程序[/color]”)。此版本号不限制文件的校验。
3. [color=#006699]{"[/color][color=#ff0000]C Library[/color][color=#006699]","[/color][color=#ff0000]C语言运行库[/color][color=#006699]"}[/color]是用于校验到SIS文件不存在时,错误提示中显示的组件标题。
如果是多语言安装程序,则需要按语言支持区段的语言顺序来依次(就是按[color=#006699]&[/color][color=#ff0000]EN[/color][color=#006699],[/color][color=#ff0000]ZH[/color]那个部分的顺序)输入各语言版本下的标题,标题名称用“[color=#006699],[/color]”分割。[/td][/tr][tr][td][/td][/tr][tr][td][size=4][b][color=#0066cc]可选附加组件
[/color][/b][/size]如果包含可选附加组件,则SIS文件类型需要相应变成[color=#006699]TYPE=[/color][color=#ff0000]SISOPTION
[/color]单语言: [color=#006699]!({"[/color][color=#ff0000]Add-on 1 (20kb)[/color][color=#006699]"},{"[/color][color=#ff0000]Add-on 2 (20kb)[/color][color=#006699]"})
[/color][color=#ff0000]Add-on 1 (20kb)[/color]是第1个附加组件的显示标题,[color=#ff0000]Add-on 2 (20kb)[/color]是第2个附加组件的显示标题;依此类推可设置多个附加组件
多语言: [color=#006699]!({"[/color][color=#ff0000]Add-on 1 (20kb)[/color][color=#006699]","[/color][color=#ff0000]附件1 (20kb)[/color][color=#006699]"},{"[/color][color=#ff0000]Add-on 2 (20kb)[/color][color=#006699]","[/color][color=#ff0000]附件2 (20kb)[/color][color=#006699]"})
[/color][color=#ff0000]Add-on 1 (20kb)[/color]是[color=#006699]第1个附加组件[/color]的[color=#006699]第1种语言[/color]的显示标题,[color=#ff0000]附件1 (20kb)[/color]是[color=#006699]第1个附加组件[/color]的[color=#006699]第2种语言[/color]的显示标题
[color=#ff0000]Add-on 2 (20kb)[/color]是[color=#006699]第2个附加组件[/color]的[color=#006699]第2种语言[/color]的显示标题,[color=#ff0000]附件2 (20kb)[/color]是[color=#006699]第2个附加组件[/color]的[color=#006699]第2种语言[/color]的显示标题
依此类推可设置多个附加组件;多语言安装程序需要按语言支持区段的语言顺序来依次(就是按[color=#006699]&[/color][color=#ff0000]EN[/color][color=#006699],[/color][color=#ff0000]ZH[/color]那个部分的顺序)输入各语言版本下的标题,标题名称用“[color=#006699],[/color]”分割。[/td][/tr][tr][td][/td][/tr][tr][td][size=4][b][color=#0066cc]条件判断
[/color][/b][/size]如果安装程序内包含可选附加组件,则需要此区段的信息,反之则省略
[color=#006699]!({"[/color][color=#ff0000]Add-on 1 (20kb)[/color][color=#006699]"},{"[/color][color=#ff0000]Add-on 2 (20kb)[/color][color=#006699]"})
IF option[/color][color=#ff0000]1[/color]
[color=#006699]"[/color][color=#ff0000]PCSourceFile\addon\MyPic1.gif[/color][color=#006699]"-"[/color][color=#ff0000]!:\System\Apps\MyApp\addon\MyPic1.gif[/color][color=#006699]"
ENDIF
IF option[/color][color=#ff0000]2[/color]
[color=#006699]"[/color][color=#ff0000]PCSourceFile\addon\MyPic2.gif[/color][color=#006699]"-"[/color][color=#ff0000]!:\System\Apps\MyApp\addon\MyPic2.gif[/color][color=#006699]"
ENDIF
IF option[/color][color=#ff0000]1[/color]和[color=#006699]ENDIF[/color]之间的信息是选择[color=#ff0000]Add-on 1 (20kb)[/color]后的安装结果
[color=#006699]IF option[/color][color=#ff0000]2[/color]和[color=#006699]ENDIF[/color]之间的信息是选择[color=#ff0000]Add-on 2 (20kb)[/color]后的安装结果
依此类推,有几个附件就按照数字的顺序写几个[color=#006699]IF option
[/color]([color=#ff0000]Add-on 1[/color],[color=#ff0000]Add-on 2 [/color],[color=#ff0000]Add-on 3 [/color]相应的应该有[color=#006699]IF option[/color][color=#ff0000]1
[/color],[color=#006699]IF option[/color][color=#ff0000]2
[/color],[color=#006699]IF option[/color][color=#ff0000]3
[/color])[/td][/tr][tr][td][/td][/tr][tr][td][size=4][b][color=#0066cc]附加SIS文件
[/color][/b][/size]在SIS安装程序中附加的SIS安装程序,可以用于条件判断语句之内(如果在条件判断语句之外则会被自动安装)
例: [color=#006699]@"[/color][color=#ff0000]D:\sis\files\AutoStart.sis[/color][color=#006699]",([/color][color=#ff0000]0x12345678[/color][color=#006699])
[/color][color=#ff0000]D:\sis\files\AutoStart.sis[/color]是[url=http://www.cnhrb.com/article/pkgex.htm#PCSource][color=#ff0000][u]PC端SIS源文件[/u][/color][/url]的位置
[color=#ff0000]0x12345678[/color]是该SIS文件的UID(用SeleQ查看APP文件属性显示的[color=#006699]UID1[/color];用SmartFileMan显示的[color=#006699]UID1[/color])[/td][/tr][/table]
[[i] 本帖最后由 birdman 于 2007-4-24 18:08 编辑 [/i]]