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.