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:
- installing only selective parts of an application;
- attaching configuration information to the installation process (ie. CONFIG.SYS
changes and WPS classes to be registered);
- 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:
- An archive is a large file which contains other files (the files
to be installed using packages, plus the installation script).
- A package is not a file itself, but only a logical list of files, which in turn
must reside in an archive.
- Each archive contains at least one package.
- The global database maintains packages, not archives.
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:
- one "base" package which
lists the executable and additional required files (and can therefore not be
deselected);
- several National Language Support (NLS) packages, out of which the user should
select one;
- 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.