About Packages
An installer package is used to install files onto a user's machine. In addition to the file payload, a package also contains metadata describing the package, localizable resoures specifying the user interface for the install, and scripts to be run before, during, or after the install.
It is recommended that you create a package for each “component” of your install. For example, if you are installing an application and a framework, one package should be created for the application and another package created for the framework.
A package (with extension .pkg) is an OS X bundle, meaning that it appears as a single file in the Finder, but is really a directory. The structure of a package is as follows:
- Foo.pkg
- Contents
- Archive.bom
- Archive.pax.gz
- Info.plist
- PkgInfo
- Resources
- Localized resources in .lproj directories
- Symlinks for backwards compatibility
- Scripts
- Other resources
The italicized items can be created by PackageMaker. The package author is responsible for all other items.