运行maker.bat即可编译位于安装目录下的myapp.pkg,编译成功后将会在目录内产生一个myapp.sis文件,若编译失败(未有sis文件生成),请查看目录内生成的report.txt的错误报告 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
深红粗体字为注释。注:标识了(非必要)的区段在未设置信息时可以省略不写,其他区段则不可省略。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
;编译信息开始(文件内注释用 ; 号来标识,如果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,{“Series60ProductID“,”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 option1PCSourceFile/addon/MyPic.gif“-”!:/System/Apps/MyApp/addon/MyPic.gif”;附加SIS文件(非必要)@”PCSourceFile“,(0×12345678);安装文件信息–结束
“ ENDIF
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
语言支持
界面语言支持行,如果此行不写则取默认值&EN一个SIS文件内可以包含多个界面语言版本,但只能安装一种语言(安装时会自动根据你的系统语言来安装相应的界面语言版本), 分隔界面语言支持行&ZH·多语言:&EN,ZH
多个语言时用 多语言安装程序时不可省略 ·单一语言:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
安装程序信息
以#{“RescoView“,”RescoView简体汉化版“},(0×11111111),4,10,0为例说明: 1. #{“RescoView“,”RescoView简体汉化版“}是安装程序标题&EN,ZH那个部分的顺序)输入各语言版本下的标题,标题名称用“,”分割#{“RescoView简体汉化版“}·多语言:#{“RescoView“,”RescoView简体汉化版“} 如果是单一语言的安装程序,则只写一个标题即可 如果是多语言安装程序,则需要按语言支持区段的语言顺序来依次(就是按 ·单一语言:
2. (0×11111111)是SIS安装文件的UID(自定义,SIS安装文件即是安装完成后在C:/system/install/生成的相应SIS文件) 3. 4,10,0是程序安装时显示的版本号,4是主版本号,10是次版本号,0是build版本号;4,10,0在安装时显示的就是4.104. SH,NC是SIS文件选项(此处为非必要参数)
5. TYPE=SISAPP是SIS文件的类型(如果未指定,则默认为TYPE=SISAPP)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
兼容性
此区段用来限制程序是否可以被正确安装在目标机型上(比如防止NOKIA Series60的软件安装在UIQ的机型上,避免造成程序错误)(0×101F6F88),0,0,0,{“Series60ProductID“,”Series60ProductID“}为例说明:(0×101F6F88)是开发平台SDK的UID,也可以用具体机型的UID来限制 以 1. 下表给出几个常见机型的平台UID及机型UID(由于能力问题,UID资料可能存在错误或不完全,请见谅) 以下对Symbian OS几个版本以及Series60的性能做一下概述
2. 2,0,0是平台的版本号,2是主版本号,0是次版本号,0是build版本号,2,0,0显示的版本就是2.0注:此处的版本号要根据UID来作相应改动。0×101F6F88(Series60 0.9),则主版本号则需要写成0,次版本号也写0即可
例:如果UID是 提示:0,0,0即可2条写(0×101F6F88),0,0,0{“Series60ProductID“,”Series60ProductID“}是平台类型校验字符串,用来目标机器的平台类型(UIQ或Series或其他类型) ·如果只是希望安装在某一特定机型上(比如N-Gage),则UID处写N-Gage的UID,而平台版本处写 ·如果希望安装程序能在多个机型上安装(向老版本机型兼容),则UID处写最老那个机型的平台版本的UID,平台版本号处参照上边第 例:假使希望可以安装在N7650,N3650,N-Gage,N-Gage QD,N6600上,则写为 3.
如果是单一语言的安装程序,则只写一个字符串即可&EN,ZH那个部分的顺序)输入各语言版本下的校验字符串,字符串间用“,”分割{“Series60ProductID“}·多语言:{“Series60ProductID“,”Series60ProductID“} 如果是多语言安装程序,则需要按语言支持区段的语言顺序来依次(就是按 ·单一语言:
由于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:
(0×101F6F88),0,0,0,{“Series60ProductID“,”Series60ProductID“}Series60 2.x:(0×101F7960),2,0,0,{“Series60ProductID“,”Series60ProductID“}Series60 0.9 & 1.x & Series60 2.x:(0×101F6F88),0,0,0,{“Series60ProductID“,”Series60ProductID“} |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
文件的安装
格式为 “PCSourceFile(PC端源文件)“-”MobileDestFile(手机端目标文件)“,文件类型,操作参数1,操作参数2以 “D:/sis/files/MyApp.app“-”!:/System/Apps/MyApp/MyApp.app“,文件类型,操作参数1,操作参数2 为例PC端源文件可以用相对路径(相对于pkg文件所在路径)也可以用绝对路径D:/sis,需要打包的PC端文件都在D:/sis/files相对路径:files/MyApp.app绝对路径:D:/sis/files/MyApp.app
1. 例:假使你的PC端pkg文件在
2. 手机端目标文件就是指定文件将被安装在手机的哪个目录中。! 代表目标盘符,如果有文件必须安在手机的 C 盘的话,改为 C 即可!:/System/Apps/MyApp/MyApp.app例2:C:/System/Apps/MyApp/MyApp.app3. 文件类型,操作参数1,操作参数2,如果文件类型未指定(则默认为FILE)时可以省略操作参数;如果操作参数1未指定时(则默认为RUNINSTALL)操作参数2可以省略“D:/sis/files/MyApp.app“-”!:/System/Apps/MyApp/MyApp.app“,文件类型,操作参数1,操作参数2例2:“D:/sis/files/MyApp.app“-”!:/System/Apps/MyApp/MyApp.app“,文件类型,操作参数1例3:“D:/sis/files/MyApp.app“-”!:/System/Apps/MyApp/MyApp.app“,文件类型例4:“D:/sis/files/MyApp.app“-”!:/System/Apps/MyApp/MyApp.app“
例1:
例1:
4. 安装文件的多语言形式,手机端目标文件不变,PC端源文件按照如下格式书写即可PC端源文件的顺序要按照语言顺序来依次(就是按&EN,ZH那个部分的顺序)书写(PC端源文件可用空格或换行分隔),字符串间用“,”分割{D:/sis/files/MyApp.rEN”D:/sis/files/MyApp.rZH”!:/System/Apps/MyApp/MyApp.rsc“
书写格式: “ “ }-”
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
必要组件校验
此段是校验指定的程序(每个程序在安装时都会在手机端C:/System/install下生成一个同安装程序文件名的SIS文件,也就是校验这个SIS文件是否存在)是否存在,如果不存在,则pkg文件内,此行以下的安装文件将不会被安装 例:(0×123456789),1,1,0,{“C Library“,”C语言运行库“}1. 0×123456789是指定的SIS文件的UID(用SeleQ查看APP文件属性显示的UID1;用SmartFileMan显示的UID1)1,1,0是用于校验到SIS文件不存在时,错误提示中显示的版本号(假设C Library的SIS文件不存在,则会提示“C Library 1.1不存在,请安装安装后再安装本程序”)。此版本号不限制文件的校验。{“C Library“,”C语言运行库“}是用于校验到SIS文件不存在时,错误提示中显示的组件标题。&EN,ZH那个部分的顺序)输入各语言版本下的标题,标题名称用“,”分割。
2. 3. 如果是多语言安装程序,则需要按语言支持区段的语言顺序来依次(就是按 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
可选附加组件
Add-on 1 (20kb)是第1个附加组件的显示标题,Add-on 2 (20kb)是第2个附加组件的显示标题;依此类推可设置多个附加组件 多语言: !({“Add-on 1 (20kb)“,”附件1 (20kb)“},{“Add-on 2 (20kb)“,”附件2 (20kb)“})Add-on 1 (20kb)是第1个附加组件的第1种语言的显示标题,附件1 (20kb)是第1个附加组件的第2种语言的显示标题Add-on 2 (20kb)是第2个附加组件的第2种语言的显示标题,附件2 (20kb)是第2个附加组件的第2种语言的显示标题&EN,ZH那个部分的顺序)输入各语言版本下的标题,标题名称用“,”分割。
依此类推可设置多个附加组件;多语言安装程序需要按语言支持区段的语言顺序来依次(就是按 如果包含可选附加组件,则SIS文件类型需要相应变成TYPE=SISOPTION单语言: !({“Add-on 1 (20kb)“},{“Add-on 2 (20kb)“}) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
条件判断
如果安装程序内包含可选附加组件,则需要此区段的信息,反之则省略 !({“Add-on 1 (20kb)“},{“Add-on 2 (20kb)“}) IF option1“PCSourceFile/addon/MyPic1.gif“-”!:/System/Apps/MyApp/addon/MyPic1.gif”2“PCSourceFile/addon/MyPic2.gif“-”!:/System/Apps/MyApp/addon/MyPic2.gif”
ENDIF IF option
ENDIF IF option1和ENDIF之间的信息是选择Add-on 1 (20kb)后的安装结果IF option2和ENDIF之间的信息是选择Add-on 2 (20kb)后的安装结果IF option(Add-on 1,Add-on 2 ,Add-on 3 相应的应该有IF option1,IF option2,IF option3)
依此类推,有几个附件就按照数字的顺序写几个 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
附加SIS文件
在SIS安装程序中附加的SIS安装程序,可以用于条件判断语句之内(如果在条件判断语句之外则会被自动安装)@”D:/sis/files/AutoStart.sis“,(0×12345678)D:/sis/files/AutoStart.sis是PC端SIS源文件的位置0×12345678是该SIS文件的UID(用SeleQ查看APP文件属性显示的UID1;用SmartFileMan显示的UID1) 例:
|