Jump to content

Extensions for WarpIN

From NikiWiki
Revision as of 17:30, 13 January 2008 by Cla (talk | contribs) (query if package is installed: added info)

Suggested REXX APIs

Abort WPI

Requirement:

  • REXX code must be able to exit the WPI

Suggested Change:

  • implement WirexxExit( rc)

Used Case:

  • is required where REXX code detects that a prerequisite for installation is not met.

Deinstall packages

Requirement:

  • REXX code must be able to uninstall existing packages

Suggested Change:

  • implement WirexxDeinstall( packageid)
    • package name and version information within the package ID must be optional, to automatically deinstall all packages belonging to one "vendor\application"

Used Case:

  • is required where REXX code needs to take care for cleaning up old versions

Comment:

  • may be obsolete once a new PCK attribute takes care for deinstallation of older/any versions of the same application (see below)

query if package is installed

Requirement:

  • REXX code must be able to query if a given apckage is installed. NOTE: this is not for cases where a package is a prerequisite!

Suggested Change:

  • implement WirexxQuery( packageid, stem, option)
    • the list of pakcage ids found is returned in stem
    • package name and version information within the package ID must be optional, to automatically deinstall all packages belonging to one "vendor\application"
    • if the package contains version information, it must match exactly
    • option may be + or -, to specify that also newer or older versions match

Used Case:

  • is required where REXX code needs to take care for cleaning up old versions, and not all packages should be deinstalled

query the files of a package

query WarpIN language

query Locale language

New attributes for PCK tag

execute program from package as sniffer

Requirement:

  • run a program, included in the WPI archive, to determine if a prerequisite for installation is met
  • continue installation with no message on zero reason code
  • display a message for specific error code(s) and abort installation

Suggested Change:

  • additional attribute PREEXECUTE for PKG tag like (DE)EXECUTE

Used Case:

  • installation of device drivers: sniffer for hardware (e.g. check for a PCI device)
  • installation of Wireless LAN Monitor: determnine active instance of xCenter

Current workaround:

  • can be done by REXX, extracting a hidden package to a temp directory. However, the WPI cannot be aborted by REXX code

Problem:

  • no idea yet how to define the message(s) being displayed on error, possibly <ERRORMSG rc=n>as counterpart to MSG, where <ERRORMSG> with no rc would be the default error msg.

add a requirement matching an exact package

Requirement:

  • force to require an exact version of a dependent external package

Suggested Change:

  • invent REQUIRESEXACT to match an exact version

Comment:

  • this is for where the required packages are definitely not upwards compatible, but instead must exactly match the main package

hide a package

autodeinstall any older/other version of a PCK

execute a program/REXX code before/after executing any installation action

exit for rc!=0

force a kill of a program without prompt

force unlock of a executable without prompt

Extended attributes for PCK tag

extend (DE)EXECUTE

Requirement:

  • allow to execute a program in PM and FS mode without executing it via a visible OS/2 / eCS window.
  • allow to execute a VIO program invisible

Suggested Change:

  • extend (DE)EXECUTE (and PREEXECUTE) with
    • a progtype flag: PM, VIO, FS
    • a visible flag: VISIBLE, INVISIBLE

Comment:

  • If DosStartSession is used to launch the session, this would be a logical extension

New element for PAGE tag

element to display an INF

Requirement:

  • launch the INF file of an application without requiring to install the package

Suggested Change:

  • implement element INFBUTTON, requires atribute EXTRACTFROMPCK to use a INF ifle from the package

Comment:

  • this change would relief from one of the most obvious disadvantages of WarpIN packages. A readme is often not sufficient in order to evaluate if an application is worth to install. However, to view an included INF, an end user would have to install it anyway...

New parameters to WARPIN.EXE

deinstall a PACKAGE, supporting wildcards

allows WPS object to deinstall a program

New parameters to WIC.EXE

check if a given package is installed

Requirement:

  • allow to check via batch if a package is installed

Suggested Change:

  • implement parameter -Q to query for a specified package ID. The version information in the specified ID is optional.
  • wic returns zero if package is installed
    • if version information is specified, the installed version must match exactly
    • if version information is specified
      • with a plus sign appended, the installed version must match exactly or be greater
      • with a minus appended, the installed version must match exactly or be lesser
    • if version information is not specified, any version matches
  • wic returns non-zero, if package is not installed

Comment:

  • WIC must return an appropriate error code, unlike -q (-q always returns zero!!!)