wiki:WarpIn Project Information

WarpIN is intended to become the new general-purpose installer for OS/2 to overcome the current lack of a both flexible and user-friendly installer. This thing is available to any programmer, commercial, shareware, freeware or GPL, for free use, even though WarpIN itself is released under the GNU General Public Licence (GPL). Since the GPL does not restrict usage, and "usage" with WarpIN is creating and installing archives, you can use it to distribute anything you like.

WarpIN has full support for system configuration (CONFIG.SYS, WPS classes, WPS objects) and can fully undo all the changes to your system again. It can also do package dependencies and execute external programs for system configuration after install (aka user exits). REXX support is also built in.

WarpIN is an OS/2 Netlabs project started in a joint development effort by Jens Bäckman and Ulrich Möller. Meanwhile, most development work and maintenance is done by Paul Ratcliffe. Version 1.0.0 is intended as the reference implementation for both users and package developers.

Concept

The concept is to install WarpIN once and never remove it again. WarpIN is to become an integral part of the system, maintaining a global database of installed packages and therefore being able to de-install everything that has ever been installed without leaving any trace. This also has the advantage that users don't have to download an installer for every package, which should reduce package sizes.

This has the following advantages:

  • It can maintain a global database of installed packages and therefore can de-install everything that has ever been installed without leaving any trace.
  • The global database can maintain package dependencies so that WarpIN will tell you if a package cannot be safely installed without installing another package first. Reversely, it will warn you if you attempt to de-install a package that is still required by other packages.
  • You don't have to download the same installer with every package, which should reduce package sizes.

In addition, WarpIN can automatically do all system configuration (update CONFIG.SYS, register WPS classes, and create WPS objects). Even better, when a package is de-installed, it can undo all these changes again without a trace. All this happens without the user having to bother with the details.

For developers, WarpIN is very easy to use as well. It has a pretty powerful HTML-like script language which is easy to learn and has built-in commands for the most frequently needed purposes, such as CONFIG.SYS and WPS changes. If that is not sufficient for your software, WarpIN supports imbedded REXX routines in its scripts and can launch external programs during install.

WarpIN currently uses its own archive format with a WPI file extension. Internally, these archives use bzip2 compression, which is the most effective non-lossy compression technique currently available. The new file format was needed because there is currently no file format with directory support for bzip2 compression, unfortunately.

Using WPI also has the advantage that the user can simply download such a file, double-click on it, and installation will begin. There will be only one such ".WPI" file to download, unless the developer decides to split his software into several archives to allow for selective installs. No more unzipping to get the install program, no more README's about how to install.

To fix the download problems that many people were experiencing with the WPI file format (because Netscape tended to convert it to a text file), WarpIN V0.9.14 and higher also support self-installing executables.

Some people have also expressed concern about security issues because of this new file format. However, there is really no need to worry here.

  • First of all, WarpIN comes with a text-mode utility which allows you to unpack files from the command line (similar to unzip) and inspect the script in each archive to see what it will be doing to your system. There is only one script in each WPI file, and it is the only place where WarpIN will take information about system changes from. There are no other hidden backdoors or anything in WarpIN. (Besides, the source code is public, so this could not be hidden anyway.)
  • You can also view the archive's details from the WarpIN GUI while WarpIN is running. This will show you in detail what lines in CONFIG.SYS will be changed, for example. You can also tell WarpIN not to mess with your system, of course.
  • In addition, WarpIN 0.9.12 and above will warn you if a script contains active REXX code that might (theoretically) do evil things to your system. But still note, this is only a theoretical possibility and requires that a) an evil developer would create such an archive and that b) you download and install that evil archive.
Last modified 8 months ago Last modified on Apr 16, 2017, 10:23:57 PM