Eclipsing means installing a file with the same name as a file that
already exists, to a location that will cause the replacement file to be used
instead of the original. For example, drives in Symbian OS are scanned in the
order Y:
to A:
then Z:
. So, in theory, a
DLL installed on any drive from A:
to Y:
could
eclipse one already installed on Z:
. In practice, the software
installer detects the possibility of eclipsing and applies some rules to
prevent it.
If an attempt is made to eclipse a file in ROM, it will fail unless there is an associated stub SIS file present in ROM that can be used by the installer to identify the replacement file as a valid upgrade of the original. In other words, the decision to allow a file in ROM to be upgradeable is made at ROM creation time. A valid upgrade is one where the upgrading package has the same package UID and non-localised vendor name as the package that installed the original file. The file in ROM can only be eclipsed once. For more information, see How to upgrade OS components.
The software installer also prevents the possibility of files installed
to a removable media card (e.g. in drive d:
) eclipsing files in
RAM (e.g. on drive c:
). Eclipsing of EXEs, DLLs and data files
through the insertion of a media card or by normal installation causes an error
which either aborts the installation, or renders the media card application
unusable until the conflict is resolved.
The only situation in which these safeguards are not applied is if the file being eclipsed is an orphaned file (see Upgrading rules), in which case, the file can only be eclipsed if the phone's installation policy allows it (and the user permits it).
The software installer cannot prevent a data file from being created,
rather than installed, in the file system, that blocks the installation of
another file with the same name. For example, a file written to the
C:
drive could prevent a file with the same name from being
installed to a media card in the D:
drive (because the latter
would eclipse the former). It is possible however, for a phone manufacturer to
configure the phone's installation policy so that the user will be asked
whether they want to remove such obstructing files to allow the installation of
a trusted package to proceed.