Installer launches when a package or metapackage file is opened. The installation process itself can vary substantially, as Installer allows developers to customize the information the user is presented with. For example, it can be made to display a custom welcome message, software license and readme. Installer also handles authentication, checks that packages are valid before installing them, and allows developers to run custom scripts at several points during the installation process.
Installer packages have the file extension .pkg. Prior to OS X 10.5, installer packages were implemented as OS X packages. These packages were a collection of files that resided in folders with a .pkg file extension. In OS X 10.5 the software packaging method was changed to use the XAR (eXtensible ARchiver) file format; the directory tree containing the files is packaged as an xar archive file with a .pkg extension. Instead of distributing multiple files for a package, this allowed all of the software files to be contained in a single file for easier distribution with the benefit of package signing.