Overview
SIS files is a standard and convenient way to distribute Symbian applications:
End users can install/uninstall a SIS package either from a PC using connectivity software, or from an Symbian OS phone using an on-board installation program.
SIS files have embedded mechanism that allow deployment of shared libraries or application upgrades
The SIS file format is compact (it uses zlib compression)
SIS files are generated on a PC using the makesis tool, available with in all C++ SDKs:
The Makesis tool has two inputs:
your application files (executables, resources, data files...)
a PKG file that contains instructions on how to create the SIS package.
This PKG file is the key to create a correct package. It can be generated automatically using the SISAR tool or written manually. The Nokia Application Wizard creates a default PKG file when you use it to start a project (it is located in the %project directory%/installdirectory).
Makesis usage
The command line syntax for creating a SIS file is :
makesis [flags] source [destination]
Flags | Meaning | Comment |
---|---|---|
-v | Verbose | Prints output to the screen |
-h | Help | Shows the usage information |
-s | Stub | Generates a residual sis file for each language defined in the package file. The extension is .sxx, where xx is the number of the language, e.g. .s10 |
-p password | Password | Specifies the password when an encrypted private key file is used to digitally sign the sis file. |
-d directory | Directory | The directory that is searched for source file if its full path is not specified. |
source is the name of the pkg file and is the only mandatory parameter.
destination is name of the destination file. If not specified, this is derived from the name of the pkg file, but with a sis file extension.
The PKG file overview
A pkg file is a text file which contains installation information for applications or files. It consists of the following parts:
the supported languages
the package header, including the name of the component to be installed and its build and version information
product / platform version compatibility
package signature details (optional)
package details
The package details can contains:
options line
condition blocks
language independent files to install
language-dependent files, of which only one will be installed
capabilities line
requisite components
embedded SIS files
comments
Here is a sample PKG file we will use to browse each of these options:
; 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