Symbian
Symbian OS Library

FAQ-1304 Can my application be Symbian Signed if it contains a DLL that replaces an existing DLL on the phone?

[Index][spacer] [Previous] [Next]



 

Classification: General Category: Symbian Signed
Created: 09/08/2005 Modified: 09/13/2005
Number: FAQ-1304
Platform: Symbian OS v6.0, Symbian OS v6.1, Symbian OS v7.0, Symbian OS v7.0s, Symbian OS v8.0, Symbian OS v8.0a, Symbian OS v8.0b, Symbian OS v8.1a, Symbian OS v8.1b, Symbian OS v9, Symbian OS v9.0

Question:
My SIS file includes a number of DLLs; if these accidentally (or otherwise) replace a DLL of the same name will this compromise my application's Symbian Signed status?


Answer:
Prior to Symbian OS v9, the installer would overwrite the new file without any user notification. Any damage caused to the operation of other installed applications or normal phone operation would be grounds for failing or nullifying Symbian Signed status.

In Symbian OS v9 the installer prevents over-installation, except by the legitimate owner of the original DLL. The installer will only allow a SIS file with the same UID as the original SIS file to replace executable files (including DLLs) with the same UID/name. For other (non-executable) file types the behaviour depends on the Symbian Signed status of the original file and file type.

The Symbian OS v9 installer overwriting rules are:
  • Signed SIS files can overwrite unsigned files
  • Signed files can't overwrite other signed files
  • Unsigned files can't overwrite signed files.

Note that in Symbian OS v9 the installer will also fail if an installation with a duplicate DLL (from another vendor) is to be installed on a different drive. This is to prevent "eclipsing", where the loader loads DLLs located on a higher order drive (e.g. C drive) to dynamically replace files on the firmware (Z drive).