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.
The following table gives the location for different file types.
Location |
Example file
types
|
Description |
|
.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:
-
Applications installed via Software Install must provide
registration files in:
|
<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
|
|
\resource\plugins\
|
<dllname>.rsc
|
|
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.
|
|