Symbian3/SDK/Source/GUID-7F65B69A-6AC1-509C-91E8-9E49ED0BFEC0.dita
changeset 0 89d6a7a84779
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/SDK/Source/GUID-7F65B69A-6AC1-509C-91E8-9E49ED0BFEC0.dita	Thu Jan 21 18:18:20 2010 +0000
@@ -0,0 +1,112 @@
+<?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 concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-7F65B69A-6AC1-509C-91E8-9E49ED0BFEC0" xml:lang="en"><title>Upgrading
+OS Components</title><abstract><p>A device creator can replace data files and binaries in ROM by
+means of eclipsing. A typical example for this requirement is to fix a software
+issue. </p><p>To eclipse the files in the ROM, the device creators must add
+a Stub SIS file to the ROM and install a package that supports eclipsing.
+See <xref href="GUID-7F65B69A-6AC1-509C-91E8-9E49ED0BFEC0.dita#GUID-7F65B69A-6AC1-509C-91E8-9E49ED0BFEC0/GUID-238CFC90-366C-5BB0-AD2C-2D0F88A8A0A1">Creating
+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
+SIS files for eclipsing</xref> for details. </p></abstract><prolog><metadata><keywords/></metadata></prolog><conbody>
+<section id="GUID-238CFC90-366C-5BB0-AD2C-2D0F88A8A0A1"><title>Creating and
+adding a stub SIS file to ROM</title> <ol id="GUID-881FF7BC-F4C3-5579-AA91-EA9EBC29530C">
+<li id="GUID-2CB598EA-2534-58B7-8496-DA51236EF9C7"><p>Create a PKG file. </p> <p>Ensure
+the PKG file used to generate the Stub SIS file does not include source file
+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
+&amp;EN
+%{"Nokia Corporation"}
+:"Nokia Corporation"
+#{"Hello World"},(0x18000091),1,0,0
+"" - "z:\sys\bin\HelloWorld.exe"
+"" - "z:\resource\apps\HelloWorld.rsc"
+"" - "z:\resource\apps\HelloWorld.mbm"
+"" - "z:\private\10003a3f\import\apps\HelloWorld_reg.rsc"</codeblock> <p> <b>Note</b>:
+For details about using wildcards, see <xref href="GUID-A6CF0AD2-BDE4-548C-A165-581FCD019D7C.dita">Wildcard
+Usage with Stub SIS files</xref>. </p> </li>
+<li id="GUID-078AAB0B-4D3F-580D-9FE0-FD9FAB41532B"><p>Run the <xref href="GUID-4BDC9F63-83A1-53A5-91A0-B092AA821755.dita">MakeSIS</xref> tool
+at the command-prompt and specify the <codeph>-s</codeph> option to create
+the stub SIS file: </p> <p><userinput>makesis –s &lt;PKG_filename&gt;</userinput> </p> <p> <b>Note</b>:
+The package UID must be selcted from the protected range allocated to the
+device creator by Symbian Signed. </p> </li>
+<li id="GUID-FD66AE79-DD5B-5EED-B70E-B39E8DA0ED79"><p>Place the generated
+stub SIS file in the following location <filepath>Z:\system\install\</filepath>. </p> </li>
+</ol> </section>
+<section id="GUID-D2E7EE55-A154-58E3-A431-3350C4F7989E"><title>Creating SIS
+files for eclipsing</title> <ol id="GUID-3696EF1D-5E4C-5C6D-B02B-04E89A967099">
+<li id="GUID-153F35CC-9021-5300-8E4D-D5FD3CFD92B5"><p>Create an eclipsing
+package. The eclipsing package can be of type <codeph>SA</codeph> (full upgrade), <codeph>PU</codeph> (partial
+upgrade) or <codeph>SP</codeph> (patch upgrade). For details, see <xref href="GUID-7FD72D9F-D65E-5248-A296-F2196F1DF5CF.dita">Upgrade
+Types</xref>. </p> <p>The files in the eclipsing package must have same filename
+and path as the files in ROM that are eclipsed. However, the drive must be
+different. For example: </p> <codeblock id="GUID-783ACC24-81B8-5687-948B-65DFB8594BB4" xml:space="preserve">;Eclipsing package
+&amp;EN
+%{"Nokia Corporation"}
+:"Nokia Corporation"
+#{"Hello World"},(0x18000091),1,1,0, TYPE=PU
+"HelloWorld.exe"-"$:\sys\bin\HelloWorld.exe"
+"HelloWorld.rsc"-"$:\resource\apps\HelloWorld.rsc"
+"HelloWorld.mbm" - "$:\resource\apps\HelloWorld.mbm"
+"HelloWorld_reg.rsc" - "$:\private\10003a3f\import\apps\HelloWorld_reg.rsc"</codeblock> <p>The
+upgrading package must have same package UID as the stub SIS file, as this
+is always from the protected range. </p> <p>It is preferable to specify the
+target drive letter as <codeph>$:</codeph> to denote the system drive. This
+is because if the Symbian device user chooses to install the package to a
+removable drive, which can subsequently be removed, the files on <filepath>Z</filepath> drive
+can be used again. </p> <p> <b>Note</b>: The installer does not allow two
+different files to eclipse a file at the same time. For example, after eclipsing
+a ROM file by installing a newer version of the file to <filepath>C</filepath> drive,
+the installer does not allow you to eclipse the ROM file again by installing
+another version of the file to <filepath>D</filepath> drive. The installation
+fails. </p> <p> </p> </li>
+<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
+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>
+</ol> </section>
+
+<section id="GUID-124E78DC-2C94-4901-A90B-20DDC2F3AD66"><title>Important Considerations</title><p>Consider
+the following tips to avoid common problems that can occur when eclipsing
+ROM files. </p> <ul>
+<li id="GUID-F3834539-10D0-518E-B004-EC512A4D73E7"><p>If you are eclipsing
+an application <filepath>EXE</filepath>, make sure that both the application
+and the eclipsing SIS file have put the application registration file (<filepath>*_reg.rsc</filepath>)
+in <filepath>\private\10003a3f\import\apps\</filepath> rather than <filepath>\private\10003a3f\apps\</filepath>.
+Else, the application framework picks up the application from <filepath>z</filepath> drive. </p> </li>
+<li id="GUID-EE1F1535-D347-5DF8-8C36-935A48F3CFD2"><p>The <filepath>DLLs</filepath> and <filepath>EXEs</filepath> have
+version numbers. You can set the version (which consists of a major and a
+minor number) in the <filepath>MMP</filepath> file using the <codeph>VERSION</codeph> keyword.
+The default version number is <codeph>10.0</codeph>. </p> <p>When eclipsing
+a DLL available in ROM, the upgrading version number must be higher than the
+one in ROM, otherwise, any EXEs in ROM (<filepath>Z</filepath> drive) that
+link to this DLL can use the version on <filepath>Z</filepath> drive. However,
+the new version must have the same major version number. </p> </li>
+<li id="GUID-3D03C487-6303-5C49-B780-2489ADB637A1"><p>The application that
+needs to be upgradable must not hard code any path to <filepath>Z</filepath> drive,
+otherwise files are picked up from <filepath>z</filepath> drive. </p> </li>
+<li id="GUID-8F3CACA0-5D68-505C-918F-8C0DADAB5577"><p>If you are upgrading
+ECOM plugins on <filepath>Z</filepath> drive, you must increment the interface
+implementation version number. </p> </li>
+<li id="GUID-79CA5A58-A167-58E5-9C0B-21EAD8335FAB"><p>Verify that the vendor
+names in the Stub SIS file match with the vendor names of the eclipsing SIS
+file. </p> </li>
+<li id="GUID-6530AAF8-AF5A-5D50-97D4-74117760816B"><p>In an XIP (execute in
+place) ROM, the linking of executables to <filepath>DLL</filepath> s is done
+at ROM build time. Therefore, to eclipse a <filepath>DLL</filepath> in an
+XIP ROM, the <filepath>EXE</filepath> that uses it also needs to be eclipsed. </p> </li>
+<li id="GUID-5213264C-0414-541F-B2B9-2DEC4AB85F91"><p>To eclipse language
+specific files, it is recommended to eclipse every language variant that is
+in the ROM. For example, if the application resource file has <filepath>.RSC</filepath> and <filepath>.R02</filepath> in
+ROM, the eclipsing SIS file must also include <filepath>.RSC</filepath> and <filepath>.R02</filepath>. </p> </li>
+</ul> </section>
+</conbody><related-links>
+<link href="GUID-43B4B4E7-413E-5D18-811C-4B9E38CDEB69.dita"><linktext>PKG File
+Format</linktext></link>
+
+</related-links></concept>
\ No newline at end of file