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.
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.
Open the command
prompt in the folder where the HelloWorldBasic.pkg
file
is located:
<S60_SDK_installation_directory>\S60CppExamples\helloworldbasic\sis
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.