After the Installer application opens a package, it performs the installation process in several phases:
Requirements Check
Installer ensures that the installation host meets the system and volume requirements specified by the package.
Preinstall
Installer runs preflight and preinstall/preupgrade executables. If an executable returns anything other than 0, the install is cancelled.
Install
Installer extracts the payload of component packages and copies it to the appropriate destinations.
Save Receipt
Installer copies the component package file (with its payload stripped) to the Library/Receipts directory in the installation volume.
Postinstall
Installer runs postinstall/postupgrade and postflight executables.
The following sections detail the operations that the Installer application performs in the Requirements Check, Preinstall, and Postinstall phases of the installation process for the three types of installation package files. For details on the purpose of the executable files used to define installation requirements and install operations (InstallationCheck, VolumeCheck, preflight, preinstall, preupgrade, postinstall, postupgrade, and postflight), see “Specifying Install Operations” and “Specifying System and Volume Requirements in Pre-Tiger Systems.”
Component Package Installation Process
Metapackage Installation Process
Distribution Package Installation Process
This is how Installer performs the Requirements Check, Preinstall, and Postinstall phases of a component package’s installation process:
Requirements Check
InstallationCheck
VolumeCheck on each available volume
Preinstall
preflight
preinstall or preupgrade
Postinstall
postinstall or postupgrade
postflight
This is how the Installer application performs the Requirements Check, Preinstall, and Postinstall phases of a metapackage’s installation process:
Requirements Check
InstallationCheck for each package but not the top metapackage
VolumeCheck on each available volume for each package but not the top metapackage
Preinstall
preflight for top metapackage
preflight for each package
preinstall or preupgrade for top metapackage
preinstall or preupgrade for each package
Postinstall
postinstall or postupgrade for each package
postinstall or postupgrade for top metapackage
postflight for top metapackage
postflight for each package
This is how the Installer application performs the Requirements Check, Preinstall, and Postinstall phases of a distribution package’s installation process:
Requirements Check
Installation Check script
Volume Check script on each available volume
Preinstall
preflight for each package
preinstall or preupgrade for each package
Postinstall
postinstall or postupgrade for each package
postflight for each package
Note: Any executable-based install operations specified in the distribution package itself (not in the component packages it contains) are ignored by the Installer application when the distribution package is installed in computers running Mac OS X v10.4 and later. On earlier versions of the operating system, the Installer application invokes the executable-based install operations as was done for metapackages (see “Metapackage Installation Process”). You can take advantage of this feature when creating a single managed install solution for Tiger and pre-Tiger systems. See “Creating a Hybrid Metapackage” for more information.
Last updated: 2006-07-24