Software installer

End users can install new software from a variety of sources: through e-mail, Internet downloads, multimedia messaging service (MMS) and WAP push messages, infrared and Bluetooth connections, PC Suite, and removable memory cards. The diversity of software vendors and delivery channels requires a sophisticated system for managing installed software.

The Symbian Software Installer uses digital signatures and certificates to authenticate that the application being installed on a mobile device is from a known vendor. The signature can be obtained through the Symbian Signed process, and the default certificates installed in the mobile device act as root certificates. During installation the signature is validated against the certificates. If they match, the application is installed and the requested capabilities are stored in the executable, assuming that the root certificate can grant the capabilities. Only user capabilities can be granted to unsigned or self-signed applications, and these are always confirmed by the user.

Note: The end users have an option to cancel the installation if they detect that the vendor of the software package and certificate authority are not trustworthy. This is especially important when installing security-related components (for example, VPN clients, firewalls and virus scanners) or other business-related software.

The Software Installer ensures that no two applications have the same SID value on a particular target device. The Software Installer has the AllFiles capability to read and modify content in the \sys folder and all its subfolders, which means that you can write to third-party application executables in the \sys\bin folder when they are installed through the Software Installer.

For more information on the Software Installer, see Secure Software Install Tools.

The following figure illustrates the steps of software installation:

Figure: Installation process for signed packages

The Software Installer can install the following types of packages:

  • signed sis packages

  • Java archives (JAR) run by a Java virtual machine

  • Web Runtime widgets

The Software Installer recognizes different devices, which allows you to define the platforms and devices to which the software can be installed.