Creating a .sis file

Once you have created a GCCE UREL release build of an example application, you need to create a Symbian Installation .sis file out of it. A .sis file is, in essence, a file that compresses the files (such as, .dll, .exe, .rss) included in an application and lists all the needed information (such as language, unique application ID) that the real device needs when receiving an application.

S60 includes mandatory .sis file signing, which means that all .sis files must be signed before installing them to the device. The type of certificate needed for an application depends on the capabilities it uses. The following table explains the different kinds of certificates needed:

Signing with

Used when

Self Signed Certificate

When an application requires no capabilities or utilizes APIs, which are open to all. This can be used when testing an application in one’s own device or when shipping the application.

Note: The application is regarded as Untrusted if signed with the Self Signed Certificate.

This process is recommended for freeware applications using unrestricted capabilities.

See Signing a .sis file for instructions on how to sign a .sis with a Self Signed certificate.

Developer Certificate

When testing the application in developer’s own device(s). This certificate is acquired from Symbian.

The Symbian Developer Certificate can be used by developers to sign their applications in order to obtain the restricted capabilities for device testing. The certificate is restricted to a certain set of IMEIs and the set cannot be changed. There are a few requirements to get a Symbian Developer Certificate.

More information on Symbian Signed is available from the Symbian Developer website.

Symbian Signed

Mandatory if the application is using capabilities beyond the scope of APIs open to all and the application is shipped.

More information on Symbian Signed is available from the Symbian Signed website.

As the example applications do not require restricted capabilities, you can use the Self Signed certificate to sign them. The necessary steps for creating and using a Self Signed certificate are explained in Creating a Private Key and Self-Signed Certificate:

Creating a Private Key and Self-Signed Certificate

The makekeys tool can be used to create private key and Self-Signed certificate. The usage of the tool is described below:

makekeys -cert [-password <password>] [-len <key-length>] -dname <distinguised-name-string> <private-key-file> <public-key-cert>makekeys -cert [-password <password>] -dname <distinguised-name-string> <private-key-file> <public-key-cert> <cert-request-file>makekeys -view <certificate-file>

An example of creating a privatekey mykey.key and self-signed certificate mycert.dat is presented below:

makekeys -cert -password yourpassword -len 2048 -dname "CN=Test User  OU=Development OR=Company  CO=FI EM=test@company.com" mykey.key mycert.cer

Once you have acquired the needed certificate, you can create the .sis file, which you then need to sign.

Creating a .sis file

Once you have acquired the needed certificate to sign your application, you can create the .sis file. The .sis file is made from the .pkg file of the application, which is located in the example application's sis folder.

The .pkg file looks like this:

Languages

&EN

;Header

#{"HelloWorldBasic"}, (0x11111111), 1, 2, 3,TYPE=SA

; Localized Vendor name

%{"Vendor_EN"}

; Unique Vendor Name

:"Unique Vendor Name"

;File to install

"\epoc32\release\gcce\urel\helloworldbasic.exe"

-"!:\sys\bin\helloworldbasic.exe";

;Supports Series 60 v 3.0

[0x101F7961], 0, 0, 0, {"S60ProductID"}

Note: The binaries are located in the \sys\bin directory.

  1. Open the command prompt in the folder where the HelloWorldBasic.pkg file is located:

    <S60_SDK_installation_directory>\S60CppExamples\helloworldbasic\sis

  2. In the same directory, enter the makesis command and press Enter:

    <S60_SDK_installation_directory>\S60CppExamples\helloworldbasic\sis> makesis helloworldbasic.pkg

The helloworldbasic.SIS file is created into the same directory where the .pkg file is located, that is:

<S60_SDK_installation_directory>\S60CppExamples\helloworldbasic\sis\helloworldbasic.SIS

Next, you need to sign the .sis file.