×
Namespaces

Variants
Actions

Archived:Using RUNREMOVE and RUNINSTALL options in SIS packages

From Nokia Developer Wiki
Jump to: navigation, search

Archived.pngArchived: This article is archived because it is not considered relevant for third-party developers creating commercial solutions today. If you think this article is still relevant, let us know by adding the template {{ReviewForRemovalFromArchive|user=~~~~|write your reason here}}.

Article Metadata
Compatibility
Platform(s): S60 3rd Edition
S60 3rd Edition, FP1
S60 3rd Edition FP1
S60 3rd Edition (initial release)
Article
Created: User:Technical writer 1 (July 4, 2007, updated October 31, 2008)
Last edited: hamishwillee (29 Jun 2012)

Description

To avoid failures during uninstallation, it is important to consider the order in which the binaries will be deleted. This is especially true when the package file contains an executable that uses the RUNREMOVE (RR) option, and the executable is dependent on DLL(s) or resource files.

Likewise, the order in which the binaries are listed in the package affects the use of the RUNINSTALL (RI) option when launching an executable with dependencies.

Solution

The binaries are deleted according to the order in which they are listed in the package (.pkg) file. This solution describes how the .pkg file should define the file entries. Consider an example where an executable (EXE1) has a dependency to a DLL (DLL1):

Case 1:

   DLL1
   EXE1, FR, RR

-> EXE fails to run during uninstallation since the DLL has already been deleted.

Case 2:

   EXE1, FR, RR
   DLL1

-> All OK.

Case 3:

   IF <statement>
     DLL1
   ENDIF
   EXE1, FR, RR

-> All OK. Conditional statements are executed last, and therefore DLL1 still exists when EXE1 is run.

Case 4:

   IF <statement>
     DLL1
   ENDIF
   EXE1, FR, RI

-> EXE fails to run. Conditional statements are executed last, and DLL1 has not yet been installed when trying to launch EXE1.


Using RUNWAITEND with RUNINSTALL:

It is not recommended to use FILERUN (FR), RUNINSTALL (RI) options without the RUNWAITEND (RW) option if the launched executable is a UI application. Without the RW option, the installer proceeds immediately to display an "Installation complete" message and retakes its place as the topmost application, forcing the launched application to the background.

See also

Archived:RUNREMOVE (RR) directive does not work as specified in some SW versions of S60 3rd Edition devices (Known Issue)

This page was last modified on 29 June 2012, at 05:04.
49 page views in the last 30 days.
×