diff -r 43e37759235e -r 51a74ef9ed63 Symbian3/SDK/Source/GUID-54E62386-E4DB-55C3-BA9A-FFB7BFE6703E.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/SDK/Source/GUID-54E62386-E4DB-55C3-BA9A-FFB7BFE6703E.dita Wed Mar 31 11:11:55 2010 +0100 @@ -0,0 +1,128 @@ + + + + + +File +locationsThis topic gives the location for different file types. +
Pre-Symbian platform v9.0

Application program files +must be located in directories with the form \system\apps\<program>\. +Initialisation and configuration files should be in the same directory, or +where the application is in ROM, in the equivalent directory on a writable +drive.

Document files can be located in any directory except \system\, +and may be given any name: the system will not alter the capitalisation of +that name, and will not attempt to add or remove any extension.

The +application architecture does not dictate the requirements for all files, +or even all file stores. For instance, an e-mail application is not document +based. An e-mail subsystem would store its messages in a directory structure +using special e-mail policies to implement inbox, outbox and folders. Normally, +this folder would be in a \system\ directory.

+
Symbian platform +v9.0 and beyond

The following table gives the location for different +file types.

+ + + +Location +Example file types +Description + + + + +
    +
  • On the emulator (default):

      +
    • epoc32\release\winscw\udeb\

    • +
    • epoc32\release\winscw\urel\

    • +

    On the emulator, e.g. for text notifiers:

      +
    • \sys\bin\tnotifiers

    • +
  • +
  • On the device:

    \sys\bin\

  • +
+

.exe, .app,

.dll, .ani,

.ctl, .fep,

.mdl, .csy,

.ldd, .pdd,

.prt,

.ECOMIIC, .PLUGIN

+
    +
  • Location of all binaries

  • +
  • The OS will refuse to +load any binary not in \sys\bin\

  • +
  • Code without AllFiles (or TCB) +capability will never be able to read (or write) anything under \sys\

  • +
  • Note that for the emulator +when PlatSecEnforceSysBin is enabled (in the epoc.ini file) +executables found under \system will not be able to be +loaded

  • +
+
+ +

\private\<process SID>\

+

.doc, .txt,

.xml, .dat,

.ini, .mbm,

.rsc

+
    +
  • Location of all private +data files (e.g. if the file is to be accessed only by the application itself)

  • +
  • The directory name under \private is +determined by the SecureId (SID) of the process. If a SID is not specified, +the UID3 provided in the mmp file is used

  • +
  • Under the \private directory, +programs without the AllFiles capability will only ever be +able to see their own directory

  • +
+
+ +
    +
  • Applications on the +emulator, or built into the ROM must provide registration files in:

      +
    • \private\10003a3f\apps\

    • +
  • +
  • Applications installed +via Software Install must provide registration files in:

      +
    • \private\10003a3f\import\apps\

    • +
  • +
+

<appname>_reg.rsc

+
    +
  • The private system directory +for an application's registration file

  • +
  • The directory must always +be on the same drive as the application

  • +
  • These paths are true +for both the emulator and target device

  • +
+
+ +

\resource\apps\

+

.rsc, .mbm

+
    +
  • Read access is allowed +by all

  • +
  • Write access only by +processes with AllFiles capability

  • +
+
+ +

\resource\plugins\

+

<dllname>.rsc

+
    +
  • Specifically for ECom +registration resource files for ECom plugins

  • +
  • Read access is allowed +by all

  • +
+
+ +

Central Repository API

\private\<process sid>\

+

.txt

+
    +
  • If the file is read/write-only, +and access to it needs controlling through capabilities, then use the Central +Repository API, not a file at all.

  • +
+
+ + +
+
\ No newline at end of file