symbian pkg文件详解

深红粗体字为注释。注:标识了(非必要)的区段在未设置信息时可以省略不写,其他区段则不可省略。
;编译信息开始(文件内注释用 ; 号来标识,如果PKG文件内包含双字节字符(比如中文,日文),则使用文本编辑工具 保存时,必须将PKG文件编码保存为UNICODE,否则无法正常编译。)

;PKG文件头部信息--开始

;语言支持(非必要)
& EN , ZH

;安装程序标题,版本号及SIS文件UID
#{" Language Name 1 "," Language Name 2 "},( UID ), 0 , 0 , 0 , SH , NC ,TYPE= SISAPP

;开发平台兼容性校验
( UID ), 0 , 0 , 0 ,{" Series60 ProductID "," Series60ProductID "}
;PKG文件头部信息--结束

;安装文件信息--开始

;单语言文件安装
" PCSourceFile/MyApp.app "-" MobileDestFile/MyApp.app "
;多语言文件安装(如果是单语言安装程序,则此段可省略)
{
"
PCSourceFile/MyApp.rEN "
"
PCSourceFile/MyApp.rZH "
}-"
MobileDestFile/MyApp.rsc "

;必要组件校验(非必要)
( UID ), 0 , 0 , 0 ,{" Language Name 1 "," Language Name 2 "}

;可选附加组件(非必要)
!({" Language Name 1 for Add-on 1 (20kb) ","
Language Name 2 for Add-on 1 (20kb) "},{" Language Name 1 for Add-on 2 (20kb) ","
Language Name 2 for Add-on 2 (20kb) "})

;条件判断(非必要,如果可选附加组件部分没有写,那么此部分也不需要写)
IF option1
"
PCSourceFile/addon/MyPic.gif "-" !:/System/Apps/MyApp/addon/MyPic.gif "
ENDIF

;附加SIS文件(非必要)
@" PCSourceFile ",( 0x12345678 )
;安装文件信息--结束
语言支持

界面语言支持 行,如果此行不写则取默认值& EN
一个SIS文件内可以包含多个界面语言版本,但只能安装一种语言(安装时会自动根据你的系统 语言来安装相应的界面语言版本) 
多个语言时用 ,  分隔
多语言安装程序时不可省略界面语言支持
·单一语言:& ZH
·多语言:& EN , ZH

参数值 说明 参数值 说明 参数值 说明 参数值 说明
AF 荷兰语(南非) FI 芬兰语 LS 西班牙语(拉丁美洲) SF 法语(瑞士)
AH 埃塞俄比亚语 FR 法语 LT 立陶宛语 SG 德语(瑞士)
AM 英语(美国) FS 瑞典语(芬兰) LV 拉脱维亚语 SQ 阿尔巴尼亚语
AR 阿拉伯语 GA 爱尔兰语 MK 马其顿语 SW 瑞典语
AS 奥地利语 GD 盖尔人语(苏格兰) ML 马拉亚拉姆语(印度) SZ 意大利语(瑞士)
AU 英语(澳大利亚) GE 德语 MN 蒙古语 TA 泰米尔语
BE 俄语(白俄罗斯) GU 古吉拉特语(印度) MO 摩尔多瓦语 TC 中文(台湾)
BF 法语(比利时) HE 希伯来语 MR 马拉提语(摩剌陀语) TE 泰卢固语(印度)
BG 保加利亚语 HI 印地语(印度) MS 马来语 TH 泰语
BL 佛兰德斯语(比利时) HK 中文(香港) MY 缅甸语 TI 厄立特里亚语
BN 孟加拉语 HR 克罗地亚语 NN 尼诺斯克语(挪威) TK 土库曼语
BO 藏语 HU 匈牙利语 NO 挪威语 TL 塔加拉语(菲律宾)
BP 葡萄牙语(巴西) HY 亚美尼亚语 NZ 英语(新西兰) TU 土耳其语
CA 加泰罗尼亚语(西班牙) IC 冰岛语 OS 国际西班牙语 VI 越南语
CE 英语(加拿大) IE 国际英语 PL 波兰语 UK 乌克兰语
CF 法语(加拿大) IF 国际法语 PO 葡萄牙语 UR 乌尔都语
CS 捷克语 IN 印度尼西亚语 PA 旁遮普语(印度、巴基斯坦) ZH 中文
CT 塞浦路斯语 IT 意大利语 RO 罗马尼亚语 ZU 祖鲁语
CY 威尔士语 JA 日语 RU 俄语

DA 丹麦语 KA 格鲁吉亚语(土耳其) SI 斯里兰卡语

DU 荷兰语 KK 哈萨克语 SK 斯洛伐克语

EL 希腊语 KM 柬埔寨语 SL 斯洛文尼亚语

EN 英语(默认值 ) KN 坎拿达语(印度) SO 索马里语

ET 爱沙尼亚语 KO 韩语 SP 西班牙语

FA 波斯语 LO 老挝语 SR 塞尔维亚语

安装程序信息

#{" RescoView "," RescoView简体汉化版 "},( 0x11111111 ), 4 , 10 , 0 为例说明:

1. #{" RescoView "," RescoView简体汉化版 "} 是安装程序标题
如果是单一语言的安装程序,则只写一个标题即可
如果是多语言安装程序,则需要按语言支持区段的语言顺序来依次(就是按& EN , ZH 那个部分的顺序)输入各语言版本下的标题,标题名称用“, ”分割
·单一语言:#{" RescoView简体汉化版 "}
·多语言:#{" RescoView "," RescoView简体汉化版 "}

2. ( 0x11111111 ) 是SIS安装文件的UID(自定义,SIS安装文件即是安装完成后在C:/system/install/ 生成的相应SIS文件)

3. 4 , 10 , 0 是程序安装时显示的版本号,4 是主版本号,10 是次版本号,0 是build版本号;4 , 10 , 0 在安装时显示的就是4.10

4. SH , NC 是SIS文件选项(此处为非必要参数)

参数值(缩写) 参数值(全称) 说明
SH SHUTDOWNAPPS 关闭应用程序
NC NOCOMPRESS 不压缩


5. TYPE= SISAPP 是SIS文件的类型(如果未指定,则默认为TYPE= SISAPP

参数值(缩写) 参数值(全称) 说明
SA SISAPP 标准的安装程序(默认值)
SY SISSYSTEM 此安装程序类型包含系统库或共享库文件注册(DLL或OPX文件),这些库文件在主程序卸载时会一并卸载
SO SISOPTION 此安装程序类型安装时有可选组件,选择安装的组件在主程序卸载时会一并卸载
SC SISCONFIG 此安装程序类型可以配置已存在的程序或服务,此类型打包时不应该包含任何新文件。只能用来配置安装或运行过程中的文件显示及增加新组件等等操作。在程序管理列表中不会显示配置程序的卸载,需要手动卸载
SP SISPATCH 此安装程序类型会修复已存在的的程序,在程序管理列表中不会显示修复程序的卸载,需要手动卸载
SU SISUPGRADE 此安装程序类型可以升级已存在的程序,但在程序管理列表中不会显示升级程序的卸载,需要用户手动删除文件或重新关联程序才能撤销升级
兼容性

此区段用来限制程序是否可以被正确安装在目标机型 上(比如防止NOKIA  Series60的软件 安装在UIQ的机型 上,避免造成程序错误)
( 0x101F6F88 ), 0 , 0 , 0 ,{" Series60ProductID "," Series60ProductID "} 为例说明:
1. ( 0x101F6F88 ) 是开发平台SDK的UID,也可以用具体机型的UID来限制
下表给出几个常见机型的平台UID及机型UID(由于能力问题,UID资料可能存在错误或不完全,请见谅)
以下对Symbian OS几个版本以及Series60的性能做一下概述
1.屏幕 显示象素:176×208
2.支持Java (J2ME/MIDP 1.0)及C++开发
3.便于简单短周期的开发程序
4.提供多样性并强大的应用程序开发框架
5.Series60 v2.x版本提供了对Java (J2ME/MIDP 2.0)及界面主题 模式的支持
6.Symbian OS 8.0提供了对3G网络 的支持

SDK版本 UID Series60 SDK 0.9(Symbian 6.1) Series60 SDK 2.0(Symbian 7.0) Series60 SDK 2.0(Symbian 8.0)
手机 型号 UID 手机型号 UID 手机型号 UID
Series60 0.9 0x101F6F88 Nokia 7650 0x101F6F87 Nokia 6600 0x101F7963 Nokia 6630 0x101F7964
Series60 1.0 0x101F795F Nokia 3650/3660/3620 0x101F7962 Nokia 6620 0x1020216B
Series60 1.1 0x101F8201 Nokia N-Gage 0x101F8A64 Nokia 7610 0x101FD5DB
Series60 1.2 0x101F8202 Nokia N-Gage QD

Series60 2.0 0x101F7960 Siemens SX1 0x101F9071
Series60 2.1 0x101F9115 Sendo-X 0x101FA031
Series60 2.2 0x10200BAB BenQ P30 0x101FD279
UIQ 2.0 0x101F617B
UIQ 2.1 0x101F61CE


2. 2 , 0 , 0 是平台的版本号,2 是主版本号,0 是次版本号,0 是build版本号,2 , 0 , 0 显示的版本就是2.0
注:此处的版本号要根据UID来作相应改动。
例:如果UID是0x101F6F88 (Series60 0.9),则主版本号则需要写成0 ,次版本号也写0 即可
提示:
·如果只是希望安装在某一特定机型上(比如N-Gage),则UID处写N-Gage的UID,而平台版本处写0 , 0 , 0 即可
·如果希望安装程序能在多个机型上安装(向老版本机型兼容),则UID处写最老那个机型的平台版本的UID,平台版本号处参照上边第2 条写
例:假使希望可以安装在N7650,N3650,N-Gage,N-Gage QD,N6600上,则写为( 0x101F6F88 ), 0 , 0 , 0

3. {" Series60ProductID "," Series60ProductID "} 是平台类型校验字符串,用来目标机器的平台类型(UIQ或Series或其他类型)
平台类型 字符串
Nokia Series60 Series60ProductID
Nokia Series80 Series80ProductID
Nokia Series90 Series90ProductID
UIQ 2.0 UIQ20PlatformProductID
UIQ 3.0 UIQ30PlatformProductID


如果是单一语言的安装程序,则只写一个字符串即可
如果是多语言安装程序,则需要按语言支持区段的语言顺序来依次(就是按& EN , ZH 那个部分的顺序)输入各语言版本下的校验字符串,字符串间用“, ”分割
·单一语言:{" Series60ProductID "}
·多语言:{" Series60ProductID "," Series60ProductID "}

由于WDA上大家汉化的软件常见的只有
Nokia Series60 v1&v2
Nokia Series60 v3
UIQ v2
UIQ v3
所以如果上边的暂时不太懂的话,那就照以下两种类型情况下的例子改写即可
Nokia Series60 v1&v2 ( 0x101F6F88 ), 0 , 0 , 0 ,{" Series60ProductID "}
Nokia Series60 v3    ( 0x101F7961 ), 0 , 0 , 0 ,{" Series60ProductID "}
Nokia Series80       ( 0x101F8ED2 ), 0 , 0 , 0 ,{" Series80ProductID "}
Nokia Series90       ( 0x101FBE05 ), 0 , 0 , 0 ,{" Series90ProductID "}
UIQ 2.0             ( 0x101F617B ), 0 , 0 , 0 ,{" UIQ20PlatformProductID "}
UIQ 3.0             ( 0x101F6300 ), 0 , 0 , 0 ,{" UIQ30PlatformProductID "}

转帖:http://www.cnblogs.com/deavey/archive/2010/04/09/1708199.html


你可能感兴趣的:(symbian pkg文件详解)