.pkg
.sis
component filesA .pkg
file is a text file which contains installation information for applications or files. It consists of the following components, some of which may be omitted:
.sis
filesThe following topics define the structure of each of these components. For information about how to interpret the syntax, see BNF grammars.
The language line specifies which languages are supported by the component. Languages are identified by a two character code. The line may be omitted; if so, UK English is assumed by default. The language line must be specified before any languages section, see Language dependent files below. Its format is as follows:
For example:
&EN,FR,IT
The following languages are supported:
EN |
UK English |
SG |
Swiss German |
FR |
French |
PO |
Portuguese |
GE |
German |
TU |
Turkish |
SP |
Spanish |
IC |
Icelandic |
IT |
Italian |
RU |
Russian |
SW |
Swedish |
HU |
Hungarian |
DA |
Danish |
DU |
Dutch |
NO |
Norwegian |
BL |
Belgian Flemish |
FI |
Finnish |
AU |
Australian English |
AM |
US English |
BF |
Belgian French |
SF |
Swiss French |
|
|
The installation header must be included before all other items, except the language line, if one is specified. Its format is:
ID |
The ID flag is present but not implemented. If specified, indicates that a copy of the component may be distributed to another machine. Otherwise the component cannot be distributed. |
IU |
Should be specified if the application's build variant is Unicode. EPOC Install will not install IU flagged SIS files at present. |
For example;
#{"Minimal application", "Application minimale", "Applicazione minima"},(0x01000508),1,0,0
All numbers can be hexadecimal.
makesis
, and may be omitted. For more information see Requisites, below.Files which will be installed regardless of the language variant selected by the end user, are specified as follows;
For example:
"\epoc32ex\adk\ikhello.app"-"!:\system\apps\ikhello\ikhello.app"
The source is the path and filename for the source file on the PC. The destination is the target path and filename on the EPOC machine. A destination must be specified unless the file is a text file. Text files, as indicated by an FT argument, are not installed. Consequently their destination is irrelevant, and may consist of empty quotes.
Note that EIKON applications must be built to \system\apps\appname\appname.app
. Other component files which form part of the application, for example resource files and application information files, should reside in the same directory as the application. If the \appname\
directory does not exist, it will be created.
If the file must be installed on a specific drive, e.g. on c:
for RAM, d:
etc. for removable media, the drive letter should be specified. Otherwise !: may be used to indicate that the drive can be specified by the user at installation time.
Files are installed in the order in which they are specified in the .pkg
file.
If the file is used by other components, e.g. if it is a shared DLL for instance, you may want to avoid the possibility of it being overwritten by an earlier version. In this case, do not specify the file in this section. Instead, create a separate .sis
file for the shared file, including appropriate major, minor build numbers in the installation header, and include the new .sis
file in the .sis
component files section, described below.
An optional comma-separated list of arguments following the destination file may be specified, to describe the type of file and how it will affect the installation or removal process.
Use one of the following arguments to describe the type of file to install:
FF |
Standard file. This is the default. |
FT |
Text file whose contents will be displayed in a dialog box during installation. The dialog will contain either the default Continue button, or Yes and No buttons, depending on other arguments specified. Text files are not installed on the target machine. |
FN |
A file which does not yet exist, so is not included in the |
FR |
A file which will be installed on the EPOC machine, and run during installation and/or removal depending on arguments RI, RR, RB described later. The file could be an executable, a document or an application. |
Use one of the following arguments for a text file, i.e. after FT has been specified, to determine how the text file dialog should be cancelled, and how cancellation should affect the installation:
TC |
Use a Continue button in the text file dialog. When the user presses this button the dialog is cancelled and the installation continues. This is the default. |
TS |
Use Yes and No buttons in the text file dialog. If Yes is pressed, the dialog is cancelled and the installation continues. If No is pressed, the dialog is cancelled, and the installation will continue, but the next file specified in the |
TA |
Use Yes and No buttons in the text file dialog. If Yes is pressed, the dialog is cancelled and the installation continues. If No is pressed, the installation is aborted. |
One of the following arguments may be specified for a file which will be run during the installation or removal process, i.e. after FR has been specified. If the file is a document, the appropriate application will be launched. For example, on installation, you may want to open a Word document providing information about the new application.
RI |
Run the file during installation only. This is the default. |
RR |
Run the file during removal only. The file is deleted during removal, and hence should be able to run quickly e.g., to clean up registry. A document should not be run during removal, as it will be deleted before it can be displayed. |
RB |
Run the file during both installation and removal. The file is deleted during removal, and hence should be able to run quickly. |
This format is used to specify a list of files, of which only one will be installed, depending on the language selected by the user during installation:
This format will commonly be used to specify lists of resource files. Like applications, resource files must be installed to \system\apps\appname\appname.rsc
. If the appname
directory does not exist, it will be created.
For example;
{ "\epoc32ex\adk\ikhello.ruk" "\ epoc32ex \adk\ikhello.rfr" "\ epoc32ex \adk\ikhello.rit" }-"!:\system\apps\ikhello\ikhello.rsc"
Here, three compiled resource files are specified, but only one will be installed on the target machine. Whichever language is chosen, the resource file will be installed as ikhello.rsc
.
A requisite file is one that is required by the component which is being installed. It must be present on the target machine and its major and minor build numbers must be the same as, or greater than, those specified otherwise installation will fail. Its name does not need to match the name specified, as it is identified by UID.
A requisite file is specified in the following way;
For example;
; Depends on STDLIB being installed (0x100002c3), 1, 0, 14, {"Standard C Library"}
.pkg
file, see Installation header..sis
component filesOne or more .sis
component files may be specified, to be installed as part of the installation. They are specified in the following way;
For example;
@"STDLIB.SIS",(0x100002c3)
The component filename must have a .sis
extension. If more than one .sis
file is specified, they are installed in the order in which they are listed. The UID may be found in the installation header in the .sis
file's .pkg
file.
Lines of comment are preceded by a semi-colon. They are ignored by makesis
.