Symbian3/SDK/Source/GUID-DB220677-5998-529C-BE35-0D66F588E057.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Tue, 20 Jul 2010 12:00:49 +0100
changeset 13 48780e181b38
parent 0 89d6a7a84779
permissions -rw-r--r--
Week 28 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 1897 and Bug 1522.

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE reference
  PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
<reference id="GUID-DB220677-5998-529C-BE35-0D66F588E057" xml:lang="en"><title>Dependency</title><abstract><p>A dependency statement is used to indicate that the component
being installed depends on another installed component that is not embedded
in the current SIS file. It also indicates the hardware and platform dependency
of the component to be installed. For information on embedded files, see <xref href="GUID-7A7254E3-A03A-5B38-B2B5-FFEEE70F5E93.dita">Embedded SIS Files</xref>  </p> <p>The
following sections detail the syntax for specifying: </p> <ul>
<li id="GUID-61209597-EC44-5493-B20D-01018E51B382"><p><xref href="GUID-DB220677-5998-529C-BE35-0D66F588E057.dita#GUID-DB220677-5998-529C-BE35-0D66F588E057/GUID-B771213C-29EE-5F51-A051-66121E213B0D">Component dependency</xref>  </p> </li>
<li id="GUID-7BDFC4D3-098D-5020-A3FC-E7E03BB83686"><p><xref href="GUID-DB220677-5998-529C-BE35-0D66F588E057.dita#GUID-DB220677-5998-529C-BE35-0D66F588E057/GUID-4BCEC177-B386-5EE7-8483-76F18A0B87D4">Hardware/UI platform dependency</xref>  </p> </li>
</ul></abstract><prolog><metadata><keywords/></metadata></prolog><refbody>
<section id="GUID-B771213C-29EE-5F51-A051-66121E213B0D"><title>Component dependency</title> <p>For
a component with a dependency to be installed, the component it depends on
must already be installed on the Symbian device. In addition to this, the
version number of the required component must be 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 even one of these conditions is not met, the
installation fails. </p> <p><b>Syntax</b> </p> <codeblock id="GUID-6D03FB00-5402-53ED-B0E6-3EBD485FC89B" xml:space="preserve">(package-UID), version-range, {"Component name for language 1","Component name for language n",...}</codeblock> <p> <b>version-range</b> can consist of a single set of major, minor and
build numbers, for example, </p> <codeblock id="GUID-2C1AA1CE-C705-5D0C-997E-3A5035532E9C" xml:space="preserve">(0x10000003), 2, 2, 3, {"Depend-EN"}</codeblock> <p>Or
it can specify two sets of numbers, representing lower and upper bounds, separated
by a tilde character, for example, </p> <codeblock id="GUID-C48AAB0E-E1E7-5017-BB59-550D3335258E" xml:space="preserve">(0x10000003), 2, 2, 3 ~ 3, 0, 0, {"Depend-EN"}</codeblock> <p>A wildcard character can occur in any part of <codeph>version-range</codeph>. <codeph>*</codeph> or <codeph>-1</codeph> can
be used as wildcard characters, for example, </p> <codeblock id="GUID-44C7B193-D158-5875-8AF6-AD606A3BFC0E" xml:space="preserve">(0x10000003), *, *, * ~ 2, 2, 3, {"Depend-EN"}</codeblock> <p>which means any version less than and including 2, 2, 3 is acceptable. </p> <p>The
component names are used for reporting than for matching; the required component
is identified by the package UID, as specified in its package header. For
more information see, <xref href="GUID-D9D20EE0-AC86-512A-91C0-EA0ACF3912A7.dita">Package
Header</xref>. </p> <p><b>Example</b> </p> <p>This example demonstrates a
PKG file that another PKG file depends on. </p> <codeblock id="GUID-EBCBC851-8C97-5C66-A101-C44ECE6497DB" xml:space="preserve">; A simple PKG file upon which others depend

; Languages
&amp;EN,FR

; Header
#{"Depend-EN", "Depend-FR"}, (0x80000003), 1, 2, 3

%{"Vendor-EN","Vendor-FR"}
:"Vendor"

;Ordinary language-specific file to system drive
{
"text\englishfile.txt"
"text\frenchfile.txt"
}-"$:\private\80000004\import\dep-lang.txt"

;Ordinary language-neutral file to system drive
"file.txt" - "$:\private\80000004\file.txt"</codeblock> </section>
<section id="GUID-4BCEC177-B386-5EE7-8483-76F18A0B87D4"><title>Hardware/UI
platform dependency</title> <p><b>Syntax</b> </p> <codeblock id="GUID-BB1C0ADB-CCD5-5B0A-88EB-A6D46DD8514D" xml:space="preserve">[productUID], version-range, {"ProductName"}</codeblock> <p> <b>productUID</b> is a UID that identifies a specific Symbian device
or a UI platform. For lists of product UIDs, see the device creator website
or SDK documentation. The product UID is specified within square brackets
to distinguish a hardware dependency from a component dependency. </p> <p> <b>version-range</b> identifies
the required version of the target Symbian device or UI platform. It is used
in the same way as in a component dependency statement. It can specify a single
set of major, minor and build numbers, or may specify upper and lower bounds,
for a range of versions. </p> <p>It is recommended that versioning information
be supplied using <codeph>version-range</codeph>, for example, UI platform
versions. However, in practice, the target hardware version may be inherent
in the product UID, in which case the <codeph>version-range</codeph> can consist
of wildcards. </p> <p>The component name is used for reporting rather than
matching purposes. See the Symbian device or UI platform manufacturer's technical
documentation for the recommended text to use. </p> <p>For example, the following
statement defines a dependency on UIQ v2.1: </p> <codeblock id="GUID-B0E328FE-EB31-530A-8411-5DAE71E87077" xml:space="preserve">[0x101F61CE], *, *, *, {"UIQ21ProductID"}</codeblock> <p>and this statement defines a dependency on the Series 60 platform second
edition: </p> <codeblock id="GUID-4C0084D4-64B7-5BB8-B466-4057776D5C38" xml:space="preserve">[0x101f7960], *, *, *, {"Series60ProductID"}</codeblock> <p><b>Example</b> </p> <p>This example package file demonstrates a UI platform dependency.
The platform name and UID used are for illustration only. </p> <codeblock id="GUID-A284FFB7-DB13-56F5-A063-0FA7E8049355" xml:space="preserve">; Example package file showing a dependency on "Platform1"

; Languages supported
&amp;EN

; Localised vendor name
%{"Nokia Corporation"}

; Global vendor name 
:"Nokia Corporation"

; Standard PKG file header
#{"ExampleForPlatform1"}, (0x12345678), 1, 2, 3

; Can only be installed on a Platform1 device, any version. 
; The UID, (0x00001000) identifies the target hardware/UI platform. 

; UI Dependency: Refer to the device creator's or UI platform's website for real values.
[0x00001000], *, *, *, {"Platform1ProductID"}

; File to install
"ExampleForPlatform1.txt"-"!:\private\12345679\import\ExampleForPlatform1.txt"</codeblock> </section>
</refbody></reference>