|
||
After developing your application on the emulator, you will no doubt want to deploy it onto a Symbian device.
Symbian OS does not allow you to copy DLLs and EXEs onto the phone for security reasons. Executables must be installed via a Symbian SIS file formed with a package file script.
The hardware dependency specifies which device type is supported and
suppresses any installation warning that the application might not be supported
on the device. Also, the P.I.P.S. dependency must be specified in the
application's package (PKG) file; removing the P.I.P.S. layer will generate a
warning that other applications depend upon it. All executables are placed in
the \sys\bin
directory.
A full description of the package file format is available in the Package File Format section of the Symbian OS Library.
The following is an UIQ example of an application installation script (PKG file) used for a VNC Viewer application:
; Language
&EN
; Header
#{"VNCViewer"}, (0x20009B23), 1, 2, 0, TYPE=SA
; Vendor
%{"Savage Minds Ltd"}
;Unique Vendor
:"Savage Minds Ltd"
; Hardware Dependency
;[0x101F6300], 3, 0, 0, {"UIQ30ProductID"}
; Declare the PIPS device driver as a dependency
(0x20009A81), 1, 0, 0 ~ 1, 9, 9, {"Symbian OS PIPS"}
; License
"C:\symbian\UIQ3SDK\epoc32\winscw\c\gpl.txt" - "", FT, TC
; Files
; VNC Authorization DLL
"C:\symbian\UIQ3SDK\epoc32\release\gcce\urel\VNCAuth.dll" - "!:\sys\bin\VNCAuth.dll"
; VNC IPC DLL
"C:\symbian\UIQ3SDK\epoc32\release\gcce\urel\VNCIpc.dll" - "!:\sys\bin\VNCIpc.dll"
; X11 DLL
"C:\symbian\UIQ3SDK\epoc32\release\gcce\urel\X11.dll" - "!:\sys\bin\X11.dll"
; VNCViewEng Exe
"C:\symbian\UIQ3SDK\epoc32\release\gcce\urel\VNCViewEng.exe" - "!:\sys\bin\VNCViewEng.exe"
; VNCViewer Application Exe
"C:\symbian\UIQ3SDK\epoc32\release\gcce\urel\VNCViewer.exe" - "!:\sys\bin\VNCViewer.exe"
"C:\symbian\UIQ3SDK\epoc32\data\Z\Resource\Apps\VNCViewer.rsc" - "!:\Resource\Apps\VNCViewer.rsc"
"C:\symbian\UIQ3SDK\epoc32\data\Z\Resource\Apps\VNCViewer_loc.rsc" - "!:\resource\apps\VNCViewer_loc.rsc"
"C:\symbian\UIQ3SDK\epoc32\data\Z\Resource\Apps\VNCViewerAppIcon.mbm" - "!:\resource\apps\VNCViewerAppIcon.mbm"
"C:\symbian\UIQ3SDK\epoc32\data\z\Private\10003a3f\Apps\VNCViewer_reg.rsc" - "!:\private\10003a3f\import\apps\VNCViewer_reg.rsc"
; Backup
"backup_registration.xml" - "!:\private\10202D56\import\packages\20009B23\backup_registration.xml"
; Remove INI files
"" - "!:\private\20008cb9\VNCView", FN
"" - "!:\private\20008cb9\VNCViewer.ini", FN
The P.I.P.S. environment does not bypass the Symbian OS Platform Security model.
A P.I.P.S. EXE has the same platform security constraints as a native Symbian EXE and must be signed to run on a device.
If your application requires access to capabilities, you will need a Symbian Developer Certificate (DevCert), requested from the Symbian Signed portal. It is used to sign your application SIS file in order to install and test the application on a Symbian OS device. To install and test it on more than one device with the same certificate and with additional capabilities, the SIS file needs to be signed using a Developer Certificate generated from a Publisher Identifier. Furthermore, to distribute your application, it then needs to be approved by a Symbian Signed Test House. Only for the latter scenario is the application considered 'Symbian Signed'. The full range of capabilities can only be obtained with a Phone Manufacturer approved (Symbian Signed) DevCert also requested through the portal.
For more information on the Symbian signing policies see https://www.symbiansigned.com/, which explains the process for developing and releasing your application.