[转]SIS打包教程


★☆语言支持☆★
PKG文件的第一行将指明应用程序的语言。每种语言用两个字母表示,如下 :

;Languages
&EN,FR


语言代号:

EN
UK English
SG
Swiss German
FR
French
PO
Portuguese
GE
German
TU
Turkish
SP
Spanish
IC
Icelandic
IT
Italian
RU
Russian
SW
Swedish
HU
Hungarian
DA
Danish
DU
Dutch
NO
Norwegian
BL
Belgian Flemish
FI
Finnish
AU
Australian English
AM
US English
BF
Belgian French
SF
Swiss French
AS
Austrian German
IF
International French
NZ
New Zealand
CS
Czech
SK
Slovak
PL
Polish
SL
Slovenian
TC
Taiwan Chinese
HK
Hong Kong Chinese
ZH
Prc Chinese
JA
Japanese
TH
Thai
 
语言行可以忽略,这样的话,将使用默认的英语。



★☆包头☆★
PKG文件的下一个组成部分是包头。它详细什么包的名字,应用程序的UID,版本信息荷包的类型:

#{"DummyLC","BetaLC"},(0x0010D003),1,01,12,TYPE=SISAPP

第一部分{"DummyLC","BetaLC"}是应用程序的名称。必须为语言行的每中语言指定相应名称,DummyLC是应用程序的英文名称;而BetaLC 是法语名称。

接下来是应用程序的UID(0x0010D003)。如果你打算发布你的应用程序,这个值应该从Symbian公司获得(参考为你的应用程序请求UID)。


接下来的3个值,描叙主次和bulid版本号(这个版本是1.01,Build 12)。

最后的一个值可选,它指定SIS的类型,可能的值如下:
SISAPP:包含一个应用(如果没填将被指定)。
SISSYSTEM:包含一个共享/系统组件,像DLL或者OPX,他们可以被其他的应用程序所使用。当最终的应用程序卸载的时候组件也将被卸载。
SISOPTION:包含一个扩展或可选的组件(动态载入代码,数据文件,等)。用户可以选择是否安装或者稍后删除,该组件不依赖主程序而工作。
SISCONFIG:配置一个已经存在的应用程序或服务. 该包不能够包含任何新文件,就算有也只能显示在安装时期,或者添加一个已存在的组件。该包安装后也不会出现在卸载中。
SISPATCH:增补已经存在的组件,它可以被用户卸载。
SISUPGRADE 更新已经存在的组件。该包安装完后也不列在卸载程序中,用户要重装或者卸载必须改变其关联的程序。



★☆产品/平台兼容性☆★
接下来的行指定应用程序目标平台或产品:

(0x101F6F88), 0, 0, 0, {"Series60ProductID","Series60ProductID"}

0x101F6F88 代表是Series 60 v0.9。它支持大多数的的现有S60设备。当然,如果你使用一些特定的API,你将使用响应的代号代替。查看我们的通用产UID页面获得更多代号。

0, 0, 0 是主版本号、次版本号和build号。你不用修改它。

{"Series60ProductID","Series60ProductID"} 是平台识别串。你在S60设备上应该使用“Series60ProductID”。注意:该字符串将重复你语言行所指定的语言中。




SDK版本UIDSeries60 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 0x101F6F88Nokia 76500x101F6F87Nokia 66000x101F7963Nokia 66300x101F7964
Series60 1.0 0x101F795FNokia 垃圾0/3660/36200x101F7962Nokia 66200x1020216B
Series60 1.1 0x101F8201Nokia N-Gage0x101F8A64Nokia 76100x101FD5DB
Series60 1.2 0x101F8202Nokia N-Gage QD  
Series60 2.00x101F7960Siemens SX10x101F9071
Series60 2.1 0x101F9115Sendo-X0x101FA031
Series60 2.2 0x10200BABBenQ P300x101FD279
UIQ 2.0 0x101F617B
UIQ 2.1 0x101F61CE

三版和二版的PKG文件头不同之处:

&ZH
#{"理财日历 - JCRst汉化"}, (0xFF00394F),2, 0, 0, IU,TYPE=SA  ......................这些和S60v2是一样的
:"LevelUp"
%{"bbs.dagamer.com"}  ........................这两行是S60v3比v2多出来的
[0x101F7961], 0, 0, 0, {"Series60ProductID"}  ..................................这是S60v3的UID和平台信息
以上为S60v3的PKG文件头,下面是安装包中的文件,和S60v2是一样的:

"C:"bin"LevelUp_Expense_Calendar_v2"TextFileIndex10.txt"-"", FT, TE
"C:"bin"LevelUp_Expense_Calendar_v2"TextFileIndex11.txt"-"", FT, TE
............................



下面是完整的S60v3 pkg文件:

&ZH
#{"理财日历 - JCRst汉化"}, (0xFF00394F),2, 0, 0, IU,TYPE=SA
:"LevelUp"
%{"bbs.dagamer.com"}
[0x101F7961], 0, 0, 0, {"Series60ProductID"}
"C:"bin"LevelUp_Expense_Calendar_v2"TextFileIndex10.txt"-"", FT, TE
"C:"bin"LevelUp_Expense_Calendar_v2"TextFileIndex11.txt"-"", FT, TE
"C:"bin"LevelUp_Expense_Calendar_v2"private"10003a3f"import"apps"ExpenseCalendar_reg.RSC"-"!:"private"10003a3f"import"apps"ExpenseCalendar_reg.RSC", FF
"C:"bin"LevelUp_Expense_Calendar_v2"private"FF00394F"backup_registration.xml"-"!:"private"FF00394F"backup_registration.xml", FF
"C:"bin"LevelUp_Expense_Calendar_v2"resource"apps"ExpenseCalendar.mif"-"!:"resource"apps"ExpenseCalendar.mif", FF
"C:"bin"LevelUp_Expense_Calendar_v2"resource"apps"ExpenseCalendar.rsc"-"!:"resource"apps"ExpenseCalendar.rsc", FF
"C:"bin"LevelUp_Expense_Calendar_v2"resource"apps"ExpenseCalendarIco.mif"-"!:"resource"apps"ExpenseCalendarIco.mif", FF
"C:"bin"LevelUp_Expense_Calendar_v2"resource"help"ExpenseCalendar.hlp"-"!:"resource"help"ExpenseCalendar.hlp", FF
"C:"bin"LevelUp_Expense_Calendar_v2"sys"bin"ExpenseCalendar.exe"-"!:"sys"bin"ExpenseCalendar.exe", FF


★☆显示文字通知☆★
在安装过程中,可以显示一些文字窗口。这里可以显示,程序使用的授权,一些发布通知等(新版本的特性等)
以下是 FILETEXT的使用:

;
"release.txt" - "", FILETEXT, TEXTCONTINUE


上面一行自定了:release.txt文件的内容将在安装过程中被显示。该文件跟PKG文件在同一个目录下(如果不是同一个目录你必须指定路径),在这个例子中,该文件不会被安装在手机上。

TEXTCONTINUE:指定用户只能操作“继续”
TEXTSKIP:出现“是”和“否”文字对话框。如果“是”,对话框消失,继续安装程序,如果“不是”对话框消失,安装继续,接下来的文件和组件将不被安装。
TEXTEXIT:出现“是”和“否”文字对话框。选折“是”继续安装,选折“否”将取消安装,所有的文件将被删除。
TEXTABORT : 出现“是”和“否”文字对话框。选折“是”,对话框取消,安装继续;选择“否”,安装被取消,通常导致部分被安装。
这部分也可 以集成在文件部分。TEXTSKIP选项可以用来询问用户选择文件是否想被安装。




参数值(缩写)参数值(全称)说明
文件类型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
运行指定文件,等待用户按键确认安装程序的完成




★☆语言依存文件☆★应用程序可以包含一些语言依赖的文 件(数据文件, 资源 文件等),你能指定那些依赖的文件被安装:
;
{
""Symbian"6.1"Series60"Epoc32"release"thumb"urel"DummyLC.r01"
""Symbian"6.1"Series60"Epoc32"release"thumb"urel"DummyLC.r02"
}-"!:"system"apps"DummyLC"DummyLC.rsc"


如果用户选择英文, DummyLC.r01将作为 DummyLC.rsc文件被安装;用户选择法文DummyLC.r02将被安装。有趣的是,仅仅只有一个文件将被安装到手机上,他们总是一个名字,内容和用户语言一致。

如果用户使用了存储卡,"!:" 用来指定,用户能选择的目标位置,如果不想用户选择路径,你可以用绝对路径来替换它(例如:C:)。

在这一步你要注意大括号中的所有内容,用来指定语言选项。


★☆独立语言文件☆★文件中的接下来这部分将不论用户使用什么语言,将安装这些文件:
;
""Symbian"6.1"Series60"Epoc32"release"thumb"urel"DummyLC.app"          - "!:"system"apps"DummyLC"DummyLC.app"
""Symbian"6.1"Series60"Epoc32"release"thumb"urel"DummyLC.aif"          - "!:"system"apps"DummyLC"DummyLC.aif"


上面的内容将添加SIS文件中的2个文件到手机上, DummyLC.appDummyLC.aif 他们位于 C:"Symbian"6.1"Series60"Epoc32"release"thumb"urel" 文件夹下面。这些文件将被安装到手机设备的所安装盘符的 "system"apps"DummyLC 目录下。


★☆安装时运行一个文件☆★
在运行一个安装或卸载程序时运行一个文件有时显得非常有用。典型用处:
1. 安装完后启动一个服务(recognizer 注册者也可以用到)。
2. 卸载后做一些清理工作等等。
可以用 FILERUN 命令来实现:

;
""Symbian"6.1"Series60"Epoc32"release"thumb"urel"RunMe.exe"        -"!:"system"apps"DummyLC"RunMe.exe",FILERUN,RUNINSTALL


在上面的例子中,RunMe.exe将在安装的过程中自动被执行。

其他的命令:
RUNREMOVE:在卸载的时候执行
RUNBOTH:安装和卸载的时候都执行


★☆安装一个共享组件☆★
一个SIS文件,它包含一个组件可以共享给其他应用程序:

;
@"..".."Common"DLL"Install"newlcdll.sis",(0x1000EB00)



这个共享组件将被包含在应用程序中,和该应用程序一起安装,除非它已经被安装。当有一个应用程序在使用该共享组件时,它都不能被卸载。

接下来的代码也能使用指定的外部组件

(0x1000EB00), 1, 0, 12, {"NewLC DLL","NewLC DLL"}

上面的代码将请求安装已经存在的组件,它的UID是“ 0x1000EB00版本1.0 Build 12,然而,如果手机上不存在这个DLL,用户将不能安装该安装包。


★☆可选附加组件☆★
如果包含可选附加组件,则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 option1ENDIF之间的信息是选择Add-on 1 (20kb)后的安装结果
IF option2ENDIF之间的信息是选择Add-on 2 (20kb)后的安装结果
依此类推,有几个附件就按照数字的顺序写几个IF option(Add-on 1,Add-on 2 ,Add-on 3 相应的应该有IF option1,IF option2,IF option3)



★☆运行时产生的文件☆★
应用程序可能也会产生一个数据文件在运行的时候(例如,参数,高分榜等)。

为了确保这些文件在你卸载应用沉许时也被删除,你需要使用 FILENULL 选项:
;
""-"C:"system"apps"DummyLC"DummyLC.ini",FILENULL


注意:在更新版本时, DummyLC.ini 将不会被删除。这样做是为了确保想ini 这样的文件(记录一些相关参数)在更新时不会被删除。

转载于:https://www.cnblogs.com/kaixuan/archive/2008/07/01/1233055.html

  • 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、付费专栏及课程。

余额充值