|
||
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.
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"}