Symbian3/SDK/Source/GUID-7F65B69A-6AC1-509C-91E8-9E49ED0BFEC0.dita
changeset 0 89d6a7a84779
equal deleted inserted replaced
-1:000000000000 0:89d6a7a84779
       
     1 <?xml version="1.0" encoding="utf-8"?>
       
     2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
       
     3 <!-- This component and the accompanying materials are made available under the terms of the License 
       
     4 "Eclipse Public License v1.0" which accompanies this distribution, 
       
     5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
       
     6 <!-- Initial Contributors:
       
     7     Nokia Corporation - initial contribution.
       
     8 Contributors: 
       
     9 -->
       
    10 <!DOCTYPE concept
       
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
       
    12 <concept id="GUID-7F65B69A-6AC1-509C-91E8-9E49ED0BFEC0" xml:lang="en"><title>Upgrading
       
    13 OS Components</title><abstract><p>A device creator can replace data files and binaries in ROM by
       
    14 means of eclipsing. A typical example for this requirement is to fix a software
       
    15 issue. </p><p>To eclipse the files in the ROM, the device creators must add
       
    16 a Stub SIS file to the ROM and install a package that supports eclipsing.
       
    17 See <xref href="GUID-7F65B69A-6AC1-509C-91E8-9E49ED0BFEC0.dita#GUID-7F65B69A-6AC1-509C-91E8-9E49ED0BFEC0/GUID-238CFC90-366C-5BB0-AD2C-2D0F88A8A0A1">Creating
       
    18 and adding a stub SIS file to ROM</xref> and <xref href="GUID-7F65B69A-6AC1-509C-91E8-9E49ED0BFEC0.dita#GUID-7F65B69A-6AC1-509C-91E8-9E49ED0BFEC0/GUID-D2E7EE55-A154-58E3-A431-3350C4F7989E">Creating
       
    19 SIS files for eclipsing</xref> for details. </p></abstract><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    20 <section id="GUID-238CFC90-366C-5BB0-AD2C-2D0F88A8A0A1"><title>Creating and
       
    21 adding a stub SIS file to ROM</title> <ol id="GUID-881FF7BC-F4C3-5579-AA91-EA9EBC29530C">
       
    22 <li id="GUID-2CB598EA-2534-58B7-8496-DA51236EF9C7"><p>Create a PKG file. </p> <p>Ensure
       
    23 the PKG file used to generate the Stub SIS file does not include source file
       
    24 entries and are specified as empty strings. </p> <p>For example: </p> <codeblock id="GUID-708D3DD4-D745-58D1-9BD3-5594D369A023" xml:space="preserve">; Example STUB File
       
    25 &amp;EN
       
    26 %{"Nokia Corporation"}
       
    27 :"Nokia Corporation"
       
    28 #{"Hello World"},(0x18000091),1,0,0
       
    29 "" - "z:\sys\bin\HelloWorld.exe"
       
    30 "" - "z:\resource\apps\HelloWorld.rsc"
       
    31 "" - "z:\resource\apps\HelloWorld.mbm"
       
    32 "" - "z:\private\10003a3f\import\apps\HelloWorld_reg.rsc"</codeblock> <p> <b>Note</b>:
       
    33 For details about using wildcards, see <xref href="GUID-A6CF0AD2-BDE4-548C-A165-581FCD019D7C.dita">Wildcard
       
    34 Usage with Stub SIS files</xref>. </p> </li>
       
    35 <li id="GUID-078AAB0B-4D3F-580D-9FE0-FD9FAB41532B"><p>Run the <xref href="GUID-4BDC9F63-83A1-53A5-91A0-B092AA821755.dita">MakeSIS</xref> tool
       
    36 at the command-prompt and specify the <codeph>-s</codeph> option to create
       
    37 the stub SIS file: </p> <p><userinput>makesis –s &lt;PKG_filename&gt;</userinput> </p> <p> <b>Note</b>:
       
    38 The package UID must be selcted from the protected range allocated to the
       
    39 device creator by Symbian Signed. </p> </li>
       
    40 <li id="GUID-FD66AE79-DD5B-5EED-B70E-B39E8DA0ED79"><p>Place the generated
       
    41 stub SIS file in the following location <filepath>Z:\system\install\</filepath>. </p> </li>
       
    42 </ol> </section>
       
    43 <section id="GUID-D2E7EE55-A154-58E3-A431-3350C4F7989E"><title>Creating SIS
       
    44 files for eclipsing</title> <ol id="GUID-3696EF1D-5E4C-5C6D-B02B-04E89A967099">
       
    45 <li id="GUID-153F35CC-9021-5300-8E4D-D5FD3CFD92B5"><p>Create an eclipsing
       
    46 package. The eclipsing package can be of type <codeph>SA</codeph> (full upgrade), <codeph>PU</codeph> (partial
       
    47 upgrade) or <codeph>SP</codeph> (patch upgrade). For details, see <xref href="GUID-7FD72D9F-D65E-5248-A296-F2196F1DF5CF.dita">Upgrade
       
    48 Types</xref>. </p> <p>The files in the eclipsing package must have same filename
       
    49 and path as the files in ROM that are eclipsed. However, the drive must be
       
    50 different. For example: </p> <codeblock id="GUID-783ACC24-81B8-5687-948B-65DFB8594BB4" xml:space="preserve">;Eclipsing package
       
    51 &amp;EN
       
    52 %{"Nokia Corporation"}
       
    53 :"Nokia Corporation"
       
    54 #{"Hello World"},(0x18000091),1,1,0, TYPE=PU
       
    55 "HelloWorld.exe"-"$:\sys\bin\HelloWorld.exe"
       
    56 "HelloWorld.rsc"-"$:\resource\apps\HelloWorld.rsc"
       
    57 "HelloWorld.mbm" - "$:\resource\apps\HelloWorld.mbm"
       
    58 "HelloWorld_reg.rsc" - "$:\private\10003a3f\import\apps\HelloWorld_reg.rsc"</codeblock> <p>The
       
    59 upgrading package must have same package UID as the stub SIS file, as this
       
    60 is always from the protected range. </p> <p>It is preferable to specify the
       
    61 target drive letter as <codeph>$:</codeph> to denote the system drive. This
       
    62 is because if the Symbian device user chooses to install the package to a
       
    63 removable drive, which can subsequently be removed, the files on <filepath>Z</filepath> drive
       
    64 can be used again. </p> <p> <b>Note</b>: The installer does not allow two
       
    65 different files to eclipse a file at the same time. For example, after eclipsing
       
    66 a ROM file by installing a newer version of the file to <filepath>C</filepath> drive,
       
    67 the installer does not allow you to eclipse the ROM file again by installing
       
    68 another version of the file to <filepath>D</filepath> drive. The installation
       
    69 fails. </p> <p> </p> </li>
       
    70 <li id="GUID-BC5FEC91-7735-5597-89B1-E34BB7065573"><p>Run the <xref href="GUID-4BDC9F63-83A1-53A5-91A0-B092AA821755.dita">MakeSIS</xref> and <xref href="GUID-B20EE8A3-D7B2-5872-AF43-001A88C1A46E.dita">SignSIS</xref> tools to create
       
    71 and sign the eclipsing SIS file. Alternatively, you can use the <xref href="GUID-AA555CC1-5CFF-5609-9191-8970F32BA255.dita">CreateSIS</xref> tool. </p> </li>
       
    72 </ol> </section>
       
    73 
       
    74 <section id="GUID-124E78DC-2C94-4901-A90B-20DDC2F3AD66"><title>Important Considerations</title><p>Consider
       
    75 the following tips to avoid common problems that can occur when eclipsing
       
    76 ROM files. </p> <ul>
       
    77 <li id="GUID-F3834539-10D0-518E-B004-EC512A4D73E7"><p>If you are eclipsing
       
    78 an application <filepath>EXE</filepath>, make sure that both the application
       
    79 and the eclipsing SIS file have put the application registration file (<filepath>*_reg.rsc</filepath>)
       
    80 in <filepath>\private\10003a3f\import\apps\</filepath> rather than <filepath>\private\10003a3f\apps\</filepath>.
       
    81 Else, the application framework picks up the application from <filepath>z</filepath> drive. </p> </li>
       
    82 <li id="GUID-EE1F1535-D347-5DF8-8C36-935A48F3CFD2"><p>The <filepath>DLLs</filepath> and <filepath>EXEs</filepath> have
       
    83 version numbers. You can set the version (which consists of a major and a
       
    84 minor number) in the <filepath>MMP</filepath> file using the <codeph>VERSION</codeph> keyword.
       
    85 The default version number is <codeph>10.0</codeph>. </p> <p>When eclipsing
       
    86 a DLL available in ROM, the upgrading version number must be higher than the
       
    87 one in ROM, otherwise, any EXEs in ROM (<filepath>Z</filepath> drive) that
       
    88 link to this DLL can use the version on <filepath>Z</filepath> drive. However,
       
    89 the new version must have the same major version number. </p> </li>
       
    90 <li id="GUID-3D03C487-6303-5C49-B780-2489ADB637A1"><p>The application that
       
    91 needs to be upgradable must not hard code any path to <filepath>Z</filepath> drive,
       
    92 otherwise files are picked up from <filepath>z</filepath> drive. </p> </li>
       
    93 <li id="GUID-8F3CACA0-5D68-505C-918F-8C0DADAB5577"><p>If you are upgrading
       
    94 ECOM plugins on <filepath>Z</filepath> drive, you must increment the interface
       
    95 implementation version number. </p> </li>
       
    96 <li id="GUID-79CA5A58-A167-58E5-9C0B-21EAD8335FAB"><p>Verify that the vendor
       
    97 names in the Stub SIS file match with the vendor names of the eclipsing SIS
       
    98 file. </p> </li>
       
    99 <li id="GUID-6530AAF8-AF5A-5D50-97D4-74117760816B"><p>In an XIP (execute in
       
   100 place) ROM, the linking of executables to <filepath>DLL</filepath> s is done
       
   101 at ROM build time. Therefore, to eclipse a <filepath>DLL</filepath> in an
       
   102 XIP ROM, the <filepath>EXE</filepath> that uses it also needs to be eclipsed. </p> </li>
       
   103 <li id="GUID-5213264C-0414-541F-B2B9-2DEC4AB85F91"><p>To eclipse language
       
   104 specific files, it is recommended to eclipse every language variant that is
       
   105 in the ROM. For example, if the application resource file has <filepath>.RSC</filepath> and <filepath>.R02</filepath> in
       
   106 ROM, the eclipsing SIS file must also include <filepath>.RSC</filepath> and <filepath>.R02</filepath>. </p> </li>
       
   107 </ul> </section>
       
   108 </conbody><related-links>
       
   109 <link href="GUID-43B4B4E7-413E-5D18-811C-4B9E38CDEB69.dita"><linktext>PKG File
       
   110 Format</linktext></link>
       
   111 
       
   112 </related-links></concept>