Very much like Mac OS X today, a lot of applications in Rhapsody can be installed via drag-n-drop. Still, some applications require a little more than that and come in the form of a package (a .pkg file). For those of us with Mac OS X or NEXTSTEP/OPENSTEP systems, this file format has not been a problem... unfortunately the same can not always be said for Rhapsody.

Where is the installer?

Oddly enough, one of the things missing in Rhapsody 5.0 and 5.1 was a port of the installer.app from OPENSTEP. And yet there were still packages that needed to be installed. Apple got around this by including a command line script: installer.sh. When pointed at a package directory (without an application for the .pkg extension, the Workspace Manager ignores the extension leaving open the directory and it's contents), the script installs the software and deposits a receipt for the software.

The image below shows how the command looks in my terminal.

TinyInstaller to the rescue.

Fortunately, someone wrote a GUI front end to the script provided by Apple. TinyInstaller not only provides a GUI for installing, it also lets you read the notes included with packages and receipts. Just the other day, I had gone back to a system I had put together some time ago and tried to install OmniImage on it. The app quit just as it was opening. A quick check with TinyInstaller of the OmniFrameworks receipt showed that I did not have the latest possible version installed. Without Tiny Installer, all I would have seen was that there was a receipt for an OmniFrameworks package... but not which one.

TinyInstaller (seen below) looks very much like the Installer.app from OPENSTEP and the one Apple would later add to Rhapsody 5.3.

Installer.app

When Apple finally added an installer, they replace the original tar format within packages with pax. This left a lot of people unhappy (see: Head for the Ramparts). One thing it did was cut off applications from the 5.1 release. I have come across a number of packages which would work with the x86 version of Rhapsody, but are stored in packages which use pax. There are ways around this, but it didn't make it easy.

The Installer.app (pictured below) has much of the same form and function as the Installer.app from OPENSTEP.

As I said, the importance of having an installer is mainly for checking receipts later on to see what it is you actually have installed. Without any type of installed the receipts directory looks like it is populated by a bunch of other directories, with either TinyInstaller or Installer on a system, these directories take the form of receipt packages (as seen below).