InterpretSIS Examples

This section explains the following InterpretSIS examples:

Overriding the installation drive specified in the PKG file

You can override the target drive definition defined in the PKG file by specifying the –s option and providing the drive location at the command prompt as explained in the following example:

If file1.sis contains the following three files to install:

  • !:\file1.txt

  • c:\file2.txt

  • d:\file3.txt

and the d drive is defined in the configuration file as:

DRIVE = c:\drive_d d

then, if you run the InterpretSIS tool with the following options and arguments:

interpretsis –z c:\rom_drive -c c:\system_drive –s file1.sis +d

file1.txt, file2.txt and file3.txt are all installed to the D drive.

If you do not specify the drive at the command prompt

interpretsis –z c:\rom_drive -c c:\system_drive –s file1.sis

then file1.txt, file2.txt and file3.txt are all installed to the default system drive (C drive).

Configuring the content of ROM drive

Sometimes it is impractical and unnecessary to create a ROM drive with thousands of files for each product. The contents of the ROM drive can alternatively be specified as multiple LOG and OBY files using the –r option as shown in the following example:

interpretsis -r rofsbuild_log_file1,rofsbuild_log_file2,...

ROM stub SIS files must be present in the directory defined by the –t option:

interpretsis -r rofsbuild_log_file1,rofsbuild_log_file2 –t .\romdrive\system\data

Configuring the registry version

Device creators can generate SIS Registry entry files that are compatible with previous versions of Symbian platform. To achieve this, use the -k option to specify which version of the SIS Registry must be used to create the files. For example:

interpretsis -k 5.1

If the SISRegistry version is not specified on the command line using the –k option, InterpretSIS generates SISRegistry according to the ROM marker file found in z:\system\install\.

This marker file has the format sisregistry_x.y.txt, with x-y as the major-minor version number. If a marker file is not found and a version has not been specified on the command line, InterpretSIS by default generates version 5.1 SIS Registry entries.

Installing system upgrade packages

The InterpretSIS tool supports system upgrades for preinstalled packages. However, it cannot validate certificate chains. Therefore, even if signatures that chain back to a root certificate exists in the SWI certificate store trusted for system upgrades, InterpretSIS cannot determine that RU SIS files can be installed without a corresponding ROM Stub SIS file.

To overcome this limitation, device creators can use the +sucert option in conjunction with the –s option. This indicates the SIS file is signed with a SU certificate. With this flag set, InterpretSIS can eclipse ROM files and override files from other packages.

interpretsis -s file1.sis [+sucert] –s file2.sis

Note: Eclipsing can also be achieved using the –e option with InterpretSIS. However, the usage of sucert flag allows the SIS files to be re-installed by using the backup and restore functionality. It also represents the SU cert flag in the SIS Registry entries correctly.

Generating non-removable installation package through command line

Run IntepretSIS at the command prompt and specify +nonremovablepkg flag using the -s option.

interpretsis –s file.sis +nonremovablepkg

Note: It is not mandatory to specify the

NR flag in the package header and create a new SIS file during device creation. However, the existing SIS files that contain NR flag can be used to generate non removable installation packages.

Important: If the +sucert option is used with the +nonremovablepkg option, while installing an application using interpretsis, then a non-removable upgrade of that application cannot be performed. The only workaround is to have the .sis file used for the upgrade to be signed with a SU certificate.

Uninstalling preinstalled packages

Run IntepretSIS at the command prompt. Specify –x option with a comma seperated list of package UIds to remove preinstalled packages and associated files.

interpretsis <options> –x <package UID>,<package UID>.

This command removes all upgrades and does not check for dependencies.

Notes:

  • The -x option cannot be used in conjunction with the –s option while installing SIS files.

  • InterpretSIS cannot remove preinstalled packages from an external media card. These are packages that are installed to a media drive with the +mccardalone or +mccardalonenr option. These packages are not registered in the SIS Registry.

Supporting device variant creation

InterpretSIS supports device variant creation through a configuration file. The configuration file must be specified using the -i option in the command line as shown in the following example:

interpretsis -i config.txt

You can configure the following parameters:

  • HAL attribute values

    Refer to HALData::TAttribute for a list of HAL attributes supported by the InterpretSIS tool.

    // The device specific version number,
    //as defined by the Symbian device creator.
    //
    // <numeric type>
    MANUFACTURERSOFTWAREREV = 0x200
    
  • Additional Drives

    Use the DRIVE keyword to define additional directories in the configuration file. As the drives on the device can be located internally (system drive) or externally (removable media drive), the keyword ext can be used to indicate that the defined drive is external:

    DRIVE = Path drive-letter [ext]

    By defining drives as ext, the device creators can create independent memory card images on them. The following examples represent paths to the e drive and f drive.

    DRIVE = d:\drive_e e ext
    DRIVE = d:\drive_f f
  • Language

    Use the LANGUAGE keyword to define the SIS file installation preference language. The associated data is a decimal number as defined in TLanguage enum.

    // Language code for the device
    // Refer TLanguage enum for language values
    // <numeric type>
    LANGUAGE = 2 // French
    
  • Device Supported Language

    Use the DEVICE_SUPPORTED_LANGUAGE keyword to define the languages supported by the Symbian device. This enables IntepretSIS to install language specific files for only those languages that are supported by the Symbian device. That is, during installation, the languages supported by the Symbian device are matched with the languages supported in the SIS file. When an exact match is found, the files corresponding to that language are copied to the Symbian device. If an exact match is not found for any of the device supported languages, the files for all equivalent languages (supported by the SIS files) corresponding to each of the device supported languages are copied to the Symbian device.

    For example, if the SIS file supports UK English(01), French(02) and International English(47), and the Symbian device supports only American English(10) then during installation, as an exact match for American English is not found, the files for UK English and International English (both equivalent match) are copied to the Symbian device. See Equivalent Languages Reference for a list of all language equivalents supported by the Symbian platform.

    The following example illustrates the usage of DEVICE_SUPPORTED_LANGUAGE in the configuration file:

    // Language supported by the device
    // Refer TLanguage enum for language values
    DEVICE_SUPPORTED_LANGUAGE = 01
    DEVICE_SUPPORTED_LANGUAGE = 02
    

    Note: During installation, if an exact or an equivalent language match is not found in the SIS file, the files for the first language that is specified in the SIS file are copied to the Symbian device.

Installing SIS files to ROM drive

Device creators can install SIS files to the ROM drive. The +z option must be specified in the command line as shown in the following example:

interpretsis -z romdrive -c system drive -s abc.sis +z.

Note: Only SA can be installed to a ROM drive. Installation of SP and PU to ROM drive is not allowed.