A package can be described as a collection of files which will always be installed together and should not be separated. As such, packages can be compared to the regular ZIP archives that you probably know.

However, since packages always reside within in archive, they are not visible as separate files. They are only a means for grouping files logically within an archive to allow for the following:

  1. installing only selective parts of an application;
  2. attaching configuration information to the installation process (ie. CONFIG.SYS changes and WPS classes to be registered);
  3. maintaining the WarpIN global database.
Since the WarpIN archive format allows several packages to reside in a single archive, the user who wants to install your application can select which parts of the application should be installed.

It is therefore possible to split an application into several modules which can selectively be installed. For example, if your application has National Language Support, you can put the language-independent part of your application in one package and allow the user to install a separate package for the language support.

It is also theoretically possible to update only one package without touching the other packages.

Packages can also be "included" from other archives. It is therefore possible to reference an external package from the "main" archive, so that the user only has to download the packages which are really needed for his/her system.

It is packages, not archives, which are stored in WarpIN's global database. As a result, the installation script is not stored there either, since it only describes an archive.

To clarify this:

This concept allows for a most flexible package administration.

Here's an example for installing a typical word processor. This could come in several packages:

  1. one "base" package which lists the executable and additional required files (and can therefore not be deselected);
  2. several National Language Support (NLS) packages, out of which the user should select one;
  3. additional features, such as a spelling dictionary, which are not required for the word processor to run.
All these packages will reside in the same archive file. However, to reduce download time for the archive file, the developer could also choose to create separate archive files for each package. WarpIN will then be able to open the "dependent" archive files automatically.