Once you have created a GCCE UREL release build of the application (see Changing the Build Target and Creating a GCCE UREL Build), you need to create a .sis file out of the application. 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 (see Overview of S60 3rd Edition API Capabilities). 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. |
|
Developer Certificate |
When testing the application in developer’s own device(s). This certificate is received 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. |
|
Symbian Signed |
Mandatory if the application is using capabilities beyond the scope of APIs open to all and the application is shipped. |
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.
Once you have acquired the needed certificate, you can create the .sis file:
Which you then need to sign:
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 -req [-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 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"; |
|
Note: The binaries are located in the \sys\bin directory. |
Open the command prompt in the folder where the HelloWorldBasic.pkg file is located:
C:\Symbian\9.1\S60_3rd\S60ex\helloworldbasic\sis
In the same directory, enter the makesis command:
C:\Symbian\9.1\S60_3rd\S60ex\helloworldbasic\sis> makesis helloworldbasic.pkg
Press the Enter key.
The helloworldbasic.SIS file is
created into the same directory where the .pkg
file is located, that is:
C:\Symbian\9.1\S60_3rd\S60ex\helloworldbasic\sis\helloworldbasic.SIS