SIS 打包 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 option1
"PCSourceFile\addon\MyPic.gif"-"!:\System\Apps\MyApp\addon\MyPic.gif"
ENDIF
;附加SIS文件(非必要)
@"PCSourceFile",(0x12345678)
;安装文件信息--结束
---------------------------------------------------
界面语言支持行,如果此行不写则取默认值&EN
一个SIS文件内可以包含多个界面语言版本,但只能安装一种语言(安装时会自动根据你的系统语言来安装相应的界面语言版本)
多个语言时用 , 分隔
多语言安装程序时不可省略界面语言支持行
单一语言:&ZH
多语言:&EN,ZH

SH,NC是SIS文件选项(此处为非必要参数)
SH SHUTDOWNAPPS 关闭应用程序
NC NOCOMPRESS 不压缩

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

以(0x101F6F88),0,0,0,{"Series60ProductID","Series60ProductID"}为例说明:
1. (0x101F6F88)是开发平台SDK的UID,也可以用具体机型的UID来限制
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
3. {"Series60ProductID","Series60ProductID"}是平台类型校验字符串,用来目标机器的平台类型(UIQ或Series或其他类型)
Nokia Series60 Series60ProductID
UIQ UIQ20PlatformProductID
" D:\sis\files\MyApp.app "-" !:\System\Apps\MyApp\MyApp.app ", 文件类型 , 操作参数1 , 操作参数2 为例
1. PC端源文件可以用相对路径(相对于pkg文件所在路径)也可以用绝对路径
例:假使你的PC端pkg文件在 D:\sis,需要打包的PC端文件都在 D:\sis\files
相对路径: files\MyApp.app
绝对路径: D:\sis\files\MyApp.app

2. 手机端目标文件就是指定文件将被安装在手机的哪个目录中。
! 代表目标盘符,如果有文件必须安在手机的 C 盘的话,改为 C 即可
例1: !:\System\Apps\MyApp\MyApp.app
例2: C:\System\Apps\MyApp\MyApp.app
3. 文件类型 , 操作参数1 , 操作参数2,如果 文件类型未指定(则默认为 FILE)时可以省略 操作参数;如果 操作参数1未指定时(则默认为 RUNINSTALL操作参数2可以省略
例1: " 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 "

参数值(缩写)参数值(全称)说明
文件类型FFFILE标准程序文件(默认值)
FTFILETEXT文本文件,如果指定了文件为文本类型,则在安装过程中会显示一个窗口来显示文本信息。
如果文本信息窗口的类型不指定,则默认为TEXTCONTINUE
如果指定了文件为文本文件,则手机端目标路径处可以选择留空
(如果你希望该文本文件安装到手机上的话则需填写路径)
例1: "D:\sis\files\Readme.txt"-"!:\System\Apps\MyApp\Readme.txt",FT
例2: "D:\sis\files\Readme.txt"-"",FT
FNFILENULL卸载指定文件,该类型不需要源文件路径参数
实例(安装时卸载指定路径下的setting.ini文件:
""-"!:\System\Apps\MyApp\setting.ini",FN
FMFILEMIME指定安装文件的MIME类型,我们一般用不到,不做说明
FRFILERUN指定是运行文件。文件可以是exe文件,app文件或文本文档
如果文件被指定了非FILERUN的类型,则可根据需要省略操作参数1操作参数2
文本信息窗口类型TCTEXTCONTINUE 只显示一个确认按钮,用户按下后会继续程序的安装
TSTEXTSKIP 显示一个确认按钮和一个取消按钮,用户按下确认按钮会继续安装
按下取消也会继续完成安装程序(但pkg文件内此文件行以下指定的安装文件将不会被安装)
TETEXTEXIT 显示一个确认按钮和一个退出按钮,用户按下确认按钮会继续安装
按下退出按钮则会退出安装程序(已安装的文件会自动删除)
TATEXTABORT显示一个确认按钮和一个退出按钮,用户按下确认按钮会继续安装
按下退出按钮则会退出安装程序(之前已安装的文件不会被删除)
操作参数1RIRUNINSTALL指定文件在安装时运行
RRRUNREMOVE指定文件在卸载时被运行
RBRUNBOTH指定文件在安装时运行,卸载时也运行
操作参数2RSRUNSENDEND运行指定文件,自动运行指定文件,运行完后自动关闭文件来完成安装程序(只有指定为操作参数1RUNINSTALL参数时才能使用此参数)
RWRUNWAITEND运行指定文件,等待用户按键确认安装程序的完成
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文件内,此行以下的安装文件将不会被安装

例:(0x123456789),1,1,0,{"C Library","C语言运行库"}
1. 0x123456789是指定的SIS文件的UID(用SeleQ查看APP文件属性显示的UID1;用SmartFileMan显示的UID1)
2. 1,1,0是用于校验到SIS文件不存在时,错误提示中显示的版本号(假设C Library的SIS文件不存在,则会提示“C Library 1.1不存在,请安装安装后再安装本程序”)。此版本号不限制文件的校验。
3. {"C Library","C语言运行库"}是用于校验到SIS文件不存在时,错误提示中显示的组件标题。
如果是多语言安装程序,则需要按语言支持区段的语言顺序来依次(就是按&EN,ZH那个部分的顺序)输入各语言版本下的标题,标题名称用“,”分割。

可选附加组件
如果包含可选附加组件,则SIS文件类型需要相应变成TYPE=SISOPTION
单语言: !({"Add-on 1 (20kb)"},{"Add-on 2 (20kb)"})

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那个部分的顺序)输入各语言版本下的标题,标题名称用“,”分割。

条件判断

如果安装程序内包含可选附加组件,则需要此区段的信息,反之则省略

!({"Add-on 1 (20kb)"},{"Add-on 2 (20kb)"})

IF option1
"PCSourceFile\addon\MyPic1.gif"-"!:\System\Apps\MyApp\addon\MyPic1.gif"
ENDIF
IF option2
"PCSourceFile\addon\MyPic2.gif"-"!:\System\Apps\MyApp\addon\MyPic2.gif"
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",(0x12345678)
D:\sis\files\AutoStart.sis是PC端SIS源文件的位置
0x12345678是该SIS文件的UID(用SeleQ查看APP文件属性显示的UID1;用SmartFileMan显示的UID1)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SIS解压打包工具 sis编辑工具 软件:siscontents 版本:1.2.5 build 43 作者:Aquarius http://symbiandev.cdtools.net 汉化:segalgx 日期:2009-5-4 http://www.cnpda.com.cn/forum-7-1.html http://mobile.0110.cn/forumdisplay.php?fid=39 一款PC上打包解包修改S60第三版sis软件,主题的PC工具,支持拖放,支持从文件夹创建新的sis文件,支持创建主题,支持命令行批量解包文件!!强烈推荐!!! 压缩包中含有leftup、binpda的证书签名方案!附件已经包含plugins插件,解包文件时,可执行文件(exe,dll等)会自动脱壳,方便修改(汉化)!! 功能: 1、支持解包打包S60第3版sis(x)文件,支持单独解压其中任意一个文件,支持拖放操作 2、编辑mif文件,删除,新增,保存,替换里面的图片 3、支持查看解压ngage游戏 4、支持查看修改exe,dll的权限 5、支持编辑sis,替换、新增、删除组件,重新打包 ,支持从文件夹创建新sis文件 5、导出pkg文件(支持中文) 6、识别带If,else语句的sis,解包出不同的源文件 7、查看文件是否已签名,查看证书信息,去掉签名 8、修改软件UID3和SID 9、支持软件签名 10、支持拖放操作 11、支持查看解包mbm文件里面的图片 12、支持打包主题,修改主题安装包信息 更新历史: ==1.2.5 build 43更新(2009-5-4) 1、增加附加组件编辑功能(?) 2、修改skn文件属性时改变了安装路径,软件会自动其他文件的路径 ==1.2.1 build 41更新(2009-4-12) 1、修正更新文件目标文件与源文件内容一致时出现的bug 2、新建文件增加兼容安装平台修正对话框 3、新增检查程序包含文件名称中的无效字符 ==1.2.0 build 40更新(2009-4-11) 1、新增支持编辑软件的可选安装选项 2、新增支持添加sis组件选项:选择是否检查手机已经安装了该组件,再决定是否安装该组件 3、新增支持新建mif文件:新建一0字节mif文件,添加到软件中,然后可以添加svg图片 ==1.1.6 build 37更新(2009-3-24) 1、增加AllowDuplicateFiles参数,设为1时,增强sis文件在Symbian 9.1系统平台安装的兼容性 2、其他Bug修正(?) ==1.1.5 build 36更新(2009-3-8)== 1、支持打包主题,修改主题信息 2、修正签名时,RSA 密匙长度超过1024时的bug ==1.1.0 build 35更新== 1、支持从文件夹创建新sis(x)文件 2、支持命令行批量解包sis文件 3、修正解包n-gage文件的bug 4、支持拖放操作(包括打开sis文件,解包文件) 5、其他bug修正 ==1.0.5 build 31更新== 1、支持mbm文件图片解包 ==1.0.3 build30更新== 1、支持修改可执行文件UID3和SID(方便制作共存版) 2、支持对软件签名(可以建立多种方案,对应不同的证书文件) 3、对unicode支持更好 ==0.9.6 build27更新== 1、新建sis安装文件 2、编辑mif文件(增加、替换、删除mif的图片) 3、修复0.9.5的bug
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值