转自开发视界(www.sf.org.cn)
概叙
SIS文件是一种标准,它是方便的发布
Symbian 应用程序
的方式:
1. 最终用户可以利用Symbian 操作系统手机
中所携带
的安装程序或者从电脑
的连通性软件也进行安装/卸载SIS包。
2. SIS文件使用内嵌机制来部署共享资料库和应用升级。
3. SIS文件格式紧密 (采用了zlib 压缩技术)
SIS文件通过计算机中的makesis工具生成,在所有的C++ SDK中可以使用:
创建SiS文件流程图
makesis工具有两个输入:
应用文件(可执行文件,源文件,数据文件等)
PKG文件,其包含关于如何创建SIS文件包的说明。
PKG文件是正确创建包的关键。它可以通过SISAR工具自动生成或手工写入。当你使用NOKIA应用程序向导创建工程时,向导将创建一个默认的PKG文件(文件放置在 %project directory%"install目录下)。
Makesis的用法
创建SIS文件的命令行语句如下:
makesis [flags] source [destination]
| Flags | Meaning | Comment |
| -v | Verbose | 打印输出到屏幕|
| -h | Help |显示使用信息
|
| -s | Stub | 为包中所定义的每种语言生成剩余的SIS文件,扩展名为.sxx,xx 为语言编码,如.s10|
| -p password | Password | 当用加密
的密钥文件来标记SIS文件时指定的密码 |
| -d directory | Directory |如果没有指定完整的路径时可用该路径搜索
source文件|
参数source为PKG文件名,并且是必填参数。
参数destination 为目标文件名。如果没有被指定,他将使用PKG文件名,并用sis扩展名来创建。
PKG文件概叙
PKG文件是一个文本文件,它包含了应用程序或文件的安装信息,由以下部分组成:
-所支持的语言
-头文件,包括被安装组件名称和创建的版本信息。
-产品/平台
版本的兼容性
-包的签名资料(可选)
-包的详细信息
包的详细信息包括:
-选择行
-条件块
-安装的独立语言文件
-language-dependent文件,只有一种将被安装
-性能行
-所需组件
-嵌入的SIS文件
-注释
下面用一个简单的PKG文件为例介绍各个选项:
;
; Installation file for DummyLC application
; (c) NewLC 2003
;
;Languages
&EN,FR
;
; UID is the app's UID
;
#{"DummyLC","BetaLC"},(0x0010D003),1,01,12,TYPE=SISAPP
;
;Supports Series 60 v 0.9
(0x101F6F88), 0, 0, 0, {"Series60ProductID","Series60ProductID"}
;
; Display Release notes
;
"release.txt" - "", FILETEXT, TEXTCONTINUE
;
; Install language dependent data
;
{
""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"
;
; Files to install
;
""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"
;
; Install and run a server
;
""Symbian"6.1"Series60"Epoc32"release"thumb"urel"RunMe.exe" -"!:"system"apps"DummyLC"RunMe.exe",FR,RI
;
; Install shared component
;
@"..".."Common"DLL"Install"newlcdll.sis",(0x1000FD000)
;
; Make sure the configuration file is removed on uninstall
;
""-"C:"system"apps"DummyLC"DummyLC.ini",FN