Condition-Blocks are control blocks that decide which part of the SIS files are skipped during installation.
Condition-Blocks can include the following:
Conditional-Blocks (including language dependent file blocks) are evaluated at the end of the installation.
IF (condition) package-body [ ELSEIF (condition) package-body ] [ ELSE package-body ] ENDIF
The square brackets enclose conditions within the Condition-Block statement that are optional.
Note: It is advisable to put conditions within the square brackets.
The Condition-Blocks can be used to ensure that the SIS file installs appropriate binaries for the target platform. For example:
IF FPHARDWARE=0 "\epoc32\release\gcce\urel\myapp.exe"-"!:\sys\bin\myapp.exe.exe"; ELSE "\epoc32\release\gcce\urel\myappVFP.exe"-"!:\sys\bin\myappVFP.exe"; ENDIF
The following example illustrates the usage of Conditional-Blocks within a PKG file:
; PKG file to illustrate conditional blocks &EN %{"Nokia Corporation"} :"Nokia Corporation" #{"ConditionalInstall"}, (0x10000041), 1, 2, 3 !({"Option1"},{"Option2"},{"Option3"}) if exists("c:\private\10000041\import\InstTest\romeo.txt") "text\romeo.txt"-"!:\private\10000042\import\InstTest\romeo1.txt" else "text\romeo.txt"-"!:\private\10000042\import\InstTest\romeo.txt" endif if (option1 = 1) AND (option2 = 1) "files\tbit.gif"-"!:\private\10000042\import\InstTest\tbit.gif" endif if version(0x10000042, <, 2, 0, 0) "text\prev2.txt"-"!:\private\10000042\import\InstTest\prev2.txt" elseif version(0x10000042,>=,2,0,0) AND version(0x10000042, <, 3, 0, 0) "text\v2.txt"-"!:\private\10000042\import\InstTest\v2.txt" elseif version(0x10000042,>=,3,0,0) AND version(0x10000042, <, 4, 0, 0) "text\v3.txt"-"!:\private\10000042\import\InstTest\v3.txt" else "text\postv3.txt"-"!:\private\10000042\import\InstTest\postv3.txt" endif