diff -r 48780e181b38 -r 578be2adaf3e Symbian3/PDK/Source/GUID-7F65B69A-6AC1-509C-91E8-9E49ED0BFEC0.dita --- a/Symbian3/PDK/Source/GUID-7F65B69A-6AC1-509C-91E8-9E49ED0BFEC0.dita Tue Jul 20 12:00:49 2010 +0100 +++ b/Symbian3/PDK/Source/GUID-7F65B69A-6AC1-509C-91E8-9E49ED0BFEC0.dita Fri Aug 13 16:47:46 2010 +0100 @@ -1,125 +1,125 @@ - - - - - -Upgrading -OS Components

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.

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 Creating -and adding a stub SIS file to ROM and Creating -SIS files for eclipsing for details.

Creating -System Upgrade Packages enables the device creators to overcome the restriction -of using a stub sis file in the ROM drive. For details, see Creating System Upgrade Package.

-
Creating and -adding a stub SIS file to ROM
    -
  1. Create a PKG file.

    Ensure -the PKG file used to generate the Stub SIS file does not include source file -entries and are specified as empty strings.

    For example:

    ; Example STUB File -&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"

    Note: -For details about using wildcards, see Wildcard -Usage with Stub SIS files.

  2. -
  3. Run the MakeSIS tool -at the command-prompt and specify the -s option to create -the stub SIS file:

    makesis –s <PKG_filename>

    Note: -The package UID must be selcted from the protected range allocated to the -device creator by Symbian Signed.

  4. -
  5. Place the generated -stub SIS file in the following location Z:\system\install\.

  6. -
-
Creating SIS -files for eclipsing
    -
  1. Create an eclipsing -package. The eclipsing package can be of type SA (full upgrade), PU (partial -upgrade) or SP (patch upgrade). For details, see Upgrade -Types.

    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:

    ;Eclipsing package -&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"

    The -upgrading package must have same package UID as the stub SIS file, as this -is always from the protected range.

    It is preferable to specify the -target drive letter as $: 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 Z drive -can be used again.

    Note: 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 C drive, -the installer does not allow you to eclipse the ROM file again by installing -another version of the file to D drive. The installation -fails.

  2. -
  3. Run the MakeSIS and SignSIS tools to create -and sign the eclipsing SIS file. Alternatively, you can use the CreateSIS tool.

  4. -
-
Creating -system upgrade package

To use system upgrade packages, device creators -must:

    -
  1. Create a PKG file and -include the ROMUpgrade (RU) flag in the package header. For -details about the RU Flag supporting different upgrade types, see System -Upgrades.

  2. -
  3. Run the MakeSIS and SignSIS tools to create -and sign the SIS file with a SU certificate. Alternatively, -you can use the CreateSIS tool.

  4. -
-
Important Considerations

Consider -the following tips to avoid common problems that can occur when eclipsing -ROM files.

    -
  • If you are eclipsing -an application EXE, make sure that both the application -and the eclipsing SIS file have put the application registration file (*_reg.rsc) -in \private\10003a3f\import\apps\ rather than \private\10003a3f\apps\. -Else, the application framework picks up the application from z drive.

  • -
  • The DLLs and EXEs have -version numbers. You can set the version (which consists of a major and a -minor number) in the MMP file using the VERSION keyword. -The default version number is 10.0.

    When eclipsing -a DLL available in ROM, the upgrading version number must be higher than the -one in ROM, otherwise, any EXEs in ROM (Z drive) that -link to this DLL can use the version on Z drive. However, -the new version must have the same major version number.

  • -
  • The application that -needs to be upgradable must not hard code any path to Z drive, -otherwise files are picked up from z drive.

  • -
  • If you are upgrading -ECOM plugins on Z drive, you must increment the interface -implementation version number.

  • -
  • Verify that the vendor -names in the Stub SIS file match with the vendor names of the eclipsing SIS -file.

  • -
  • In an XIP (execute in -place) ROM, the linking of executables to DLL s is done -at ROM build time. Therefore, to eclipse a DLL in an -XIP ROM, the EXE that uses it also needs to be eclipsed.

  • -
  • 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 .RSC and .R02 in -ROM, the eclipsing SIS file must also include .RSC and .R02.

  • -
-
-PKG File -Format - -System Upgrade Packages + + + + + +Upgrading +OS Components

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.

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 Creating +and adding a stub SIS file to ROM and Creating +SIS files for eclipsing for details.

Creating +System Upgrade Packages enables the device creators to overcome the restriction +of using a stub sis file in the ROM drive. For details, see Creating System Upgrade Package.

+
Creating and +adding a stub SIS file to ROM
    +
  1. Create a PKG file.

    Ensure +the PKG file used to generate the Stub SIS file does not include source file +entries and are specified as empty strings.

    For example:

    ; Example STUB File +&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"

    Note: +For details about using wildcards, see Wildcard +Usage with Stub SIS files.

  2. +
  3. Run the MakeSIS tool +at the command-prompt and specify the -s option to create +the stub SIS file:

    makesis –s <PKG_filename>

    Note: +The package UID must be selcted from the protected range allocated to the +device creator by Symbian Signed.

  4. +
  5. Place the generated +stub SIS file in the following location Z:\system\install\.

  6. +
+
Creating SIS +files for eclipsing
    +
  1. Create an eclipsing +package. The eclipsing package can be of type SA (full upgrade), PU (partial +upgrade) or SP (patch upgrade). For details, see Upgrade +Types.

    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:

    ;Eclipsing package +&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"

    The +upgrading package must have same package UID as the stub SIS file, as this +is always from the protected range.

    It is preferable to specify the +target drive letter as $: 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 Z drive +can be used again.

    Note: 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 C drive, +the installer does not allow you to eclipse the ROM file again by installing +another version of the file to D drive. The installation +fails.

  2. +
  3. Run the MakeSIS and SignSIS tools to create +and sign the eclipsing SIS file. Alternatively, you can use the CreateSIS tool.

  4. +
+
Creating +system upgrade package

To use system upgrade packages, device creators +must:

    +
  1. Create a PKG file and +include the ROMUpgrade (RU) flag in the package header. For +details about the RU Flag supporting different upgrade types, see System +Upgrades.

  2. +
  3. Run the MakeSIS and SignSIS tools to create +and sign the SIS file with a SU certificate. Alternatively, +you can use the CreateSIS tool.

  4. +
+
Important Considerations

Consider +the following tips to avoid common problems that can occur when eclipsing +ROM files.

    +
  • If you are eclipsing +an application EXE, make sure that both the application +and the eclipsing SIS file have put the application registration file (*_reg.rsc) +in \private\10003a3f\import\apps\ rather than \private\10003a3f\apps\. +Else, the application framework picks up the application from z drive.

  • +
  • The DLLs and EXEs have +version numbers. You can set the version (which consists of a major and a +minor number) in the MMP file using the VERSION keyword. +The default version number is 10.0.

    When eclipsing +a DLL available in ROM, the upgrading version number must be higher than the +one in ROM, otherwise, any EXEs in ROM (Z drive) that +link to this DLL can use the version on Z drive. However, +the new version must have the same major version number.

  • +
  • The application that +needs to be upgradable must not hard code any path to Z drive, +otherwise files are picked up from z drive.

  • +
  • If you are upgrading +ECOM plugins on Z drive, you must increment the interface +implementation version number.

  • +
  • Verify that the vendor +names in the Stub SIS file match with the vendor names of the eclipsing SIS +file.

  • +
  • In an XIP (execute in +place) ROM, the linking of executables to DLL s is done +at ROM build time. Therefore, to eclipse a DLL in an +XIP ROM, the EXE that uses it also needs to be eclipsed.

  • +
  • 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 .RSC and .R02 in +ROM, the eclipsing SIS file must also include .RSC and .R02.

  • +
+
+PKG File +Format + +System Upgrade Packages
\ No newline at end of file