|
||
The package header contains the package name in each of the supported languages, the UID of the package, the major and minor version number and build number, and package options.
The syntax for a package header is:
#{"Package name for language 1", ...}, (package-uid), major, minor, build-number[, package-options, ...]
For example:
#{"MyApp-EN", "MyApp-FR", "MyApp-Zulu"}, (0x1000001F), 1, 2, 3, TYPE=SA
In the package-header
statement,
package-options
may be any of the following:
Abbreviation | Name | Description |
---|---|---|
|
Specifies the package-type that identifies the purpose of the package |
|
|
|
Shuts down all applications on the device. Because Software Install terminates running applications on the device as needed during the installation process, this flag is deprecated. |
|
|
Files will not be compressed within the SIS file. |
package-type
package-type
may be any one of the following:
Abbreviation | Name | Description |
---|---|---|
|
|
A package containing an application (the default type). For details on upgrading applications, see Upgrading rules. |
|
|
A package that patches an existing component. It may be uninstalled separately from the package it patches. For more details, see Upgrading rules. |
|
|
This is a variation of |
|
|
This is a special indicator for use with applications which are pre-installed, in-place, on media cards. For more information, see the section on Installing software via a media card. |
|
|
This is a special indicator for use with patches which are pre-installed, in-place, on media cards and augment an application present on the device (for example, to provide extra game levels). For more information, see the section on Installing software via a media card. |
Abbreviation | Name | Description |
---|---|---|
|
|
This flag is required with the SA package type to carry out a full upgrade of an application in ROM. For details on using the RU flag for an upgrade of type SA, see Eclipsing using a full upgrade. |
Apart from RU, these options are mutually exclusive.
All package files require a UID, even if the installed components do not strictly require one. It is used to identify the package when installing, upgrading and removing.
The UID value specified in an application's
(SISAPP
) package header (known as the package UID, or pUID)
uniquely identifies the package. The installation will fail if another
installed package has the same pUID (unless the second package is a patch or an
upgrade). The package creator is responsible for ensuring that the pUID is
correctly allocated to ensure uniqueness. It can have the same value as the SID
of an executable installed by the package.
Package UIDs and SIDs are allocated through https://www.symbiansigned.com. The process is described here.
If the pUID is in the protected range, (less than 0x80000000), or if the package is installing an EXE whose SID is in the protected range, the package must be trusted.
The package's major and minor version numbers are required for
version control (e.g., AppName 3.1
specifies a major build 3, and
minor build 1.)
The build-number replaces the variant value which was unimplemented in previous versions of MakeSIS.
All numbers can be hexadecimal.
The package name is language-dependent. It is used to identify the package in the installation dialogs and in the list of installed programs in the control panel's Add\remove program.
The number of package names must equal the number of languages specified in the languages line, and should be in the same order.
The package options and package type values can either be specified in full, or as two letter abbreviations.