Symbian Developer Library



[Index] [Previous] [Next]

PKG dependencies


Dependency on another component

A dependency statement is used to indicate that the component being installed depends upon another installed component that is not embedded in the current SIS file.

For a component with a dependency to be installed, the component it depends on must already be installed on the phone and the version number of the required component must be the same as or greater than the version number specified in the dependency statement, or if a range is specified, it must be within the range. If either of these conditions is not met, then the installation will fail.

The component name(s) are used for reporting rather than matching purposes; the required component is identified by the package UID, as specified in its package header.

The syntax for a dependency item/statement is:

(package-UID), version-range, {"Component name for language 1","Component name for language n",...}

version-range can consist of a single set of major, minor and build numbers, for example,

(0x10000003), 2, 2, 3, {"Depend-EN"}

Or it can specify two sets of numbers, representing lower and upper bounds, separated by a tilde character, for example,

(0x10000003), 2, 2, 3 ~ 3, 0, 0, {"Depend-EN"}

A wildcard character can occur in any part of version-range. * or -1 can be used as wildcard characters, for example,

(0x10000003), *, *, * ~ 2, 2, 3, {"Depend-EN"}

which means any version less than and including 2, 2, 3 is acceptable.


Hardware/UI platform dependency

The syntax to express a hardware dependency is:

[productUID], version-range, {"ProductName"}

productUID is a UID that identifies a specific phone or, more usually, a UI platform. For lists of product UIDs, see the phone manufacturer's website or SDK documentation.

Note that the product UID is contained in square brackets to distinguish a hardware dependency from a component dependency.

version-range identifies the required version of the target phone/UI platform. It is used in the same way as in a component dependency statement. In other words, it can specify a single set of major, minor and build numbers, or may specify upper and lower bounds, for a range of versions.

It is recommended that versioning information be supplied using the version-range, for example for UI platform versions. However, in practice, the target hardware version may be inherent in the product UID, in which case the version-range may consist of wildcards, for example see below.

The component name is used for reporting rather than matching purposes. See the phone or UI platform manufacturer's technical documentation for the recommended text to use.

For example, the following statement defines a dependency on UIQ v2.1:

[0x101F61CE], *, *, *, {"UIQ21ProductID"}

and this statement defines a dependency on the Series 60 platform 2nd edition:

[0x101f7960], *, *, *, {"Series60ProductID"}