PKG File Format for Preinstallation

The SIS files that are installed using InterpretSIS can be configured to be non-removable. If an attempt is made to uninstall a non-removable package, an error (KErrNotSupported) is reported to the UI.

You can generate a non-removable package using InterpretSIS by specifying the +nonremovablepkg within the -s option. For details, see Generating non-removable installation package through command line.

InterpretSIS is the preferred mechanism to install non-removable base packages, as Software Installer only allows you to install a NR base package if it has been signed using the System Upgrade certificate. If an attempt is made to install a non-removable base package not signed with a SU cert using the software installer, an error (KErrNotSupported) is returned.

Note: When replacing or upgrading a non-removable base package using the software installer, the upgrade package must also be non-removable. See

Preinstalled Package Upgrades for more information.

The following restrictions apply to the syntax of the PKG files used to create the SIS files for input to InterpretSIS:

  • Options-List is not supported – raises an error.

  • Embedded SIS Files – raises a warning.

  • FILETEXT, FILERUN and FILEMIME install options are not supported – raises a warning.

  • PP not supported.

The -c argument to MakeSIS can be used to test whether the PKG file is syntactically valid for InterpretSIS. Breaching any of the preceding restrictions causes InterpretSIS to fail, reporting a negative error code.

Notes:

  • Device creators must extract the embedded SIS files using DumpSIS and install them in separate SIS files. Although the InterpretSIS can install SIS files that have embedded SIS files it displays a warning if the embedded SIS file is not already installed.

  • SIS files can contain dependencies, which must be satisfied.

  • InterpretSIS reports an error if any target file locations violate the rules imposed by data caging, summarised here.

  • In any language-dependent statements, for example Language-Dependent Files lists, InterpretSIS always selects English if the input language has not been provided by the command-line option or in the INI file. If the given input language is not in the list of supported languages of the SIS file, it selects the first language in the SIS file

  • InterpretSIS does not display the Logo during installation. However, it installs them.

  • InterpretSIS does not perform signature verification or revocation checking when installing packages. Also, it does not perform policing of capabilities allocated to executables.

  • Packages installed using InterpretSIS have their validation status set to EValidatedToAnchor.