Creating Software Packages in OSX

Adrian CantrillSolutions Architect
Package creation on OS X uses the PackageMaker utility installed as part of the XCode development suite ( on the OSX Client CD).  Packages can be installed as part of the machine build process, or later using Apple Remote Desktop. They are generally capable of silent installs, cause very little disruption to users and can be tested prior to installation in a lab situation.

Packages are created in one of two ways, either by using a ‘snapshot’ process, which monitors the installation process of an application and creates a package from the payload, or standard packages which contain program units from software already installed.

Payload Package

A standard package is created when a software application is portable, that being when it installs within the /Applications folder and can be moved between machines and still function – with no files stored outside of these folders. Applications which are portable traditionally offer a ‘drag and drop’ installation system, during which a window is displayed after the .dmg file is opened and the application is dragged to the /Applications folder. Example applications that are portable are Cyberduck & Office 2008.

To begin the package creation process start PackageMaker by typing the name into spotlight search.


Once the application starts it will prompt for the Organisation name and a Minimum OS for the package. Accept the details as shown below.


The next stage is to enter general details for the package, namely a package name, and a description. Ensure the ‘system volume’ checkbox is selected to ensure the system drive is used for the package installation.


At this point you should install the package into the local applications folder using the suggested method. The exact installation instructions will depend on the application being installed, but in general it should be a case of dragging the executable into the applications folder.


Once installed left click the application and drag into the contents folder of PackageMaker as shown in the screenshot above.


Once pasted, the Contents folder will updated with the application to be installed, click the configuration tab to edit the detailed properties.


Ensure that the ‘Install’ and ‘Destination’ fields are complete as shown above, (n.b its intentional that the Destination field should contain /Applications)


Save the package by Clicking File -> Save as and provide a suitable name. Click Save as shown in the dialogue above to complete the process.

Click the Project menu and Select ‘Build’.


On the resulting dialogue enter a meaningful name for the package and click ‘Save’.


The build process will proceed through a number of stages and result in screens as shown below. The package will be saved into the area selected on the previous page and can be migrated as required to the a package deployment share.


Snapshot Package

A snapshot package is used when the application to be package comes in the form of an OSX installer – the application to be installed isn’t portable in that it potentially installs files in multiple locations within the OSX system – in addition the installer isn’t transparent and doesn’t provide indication of where the files are installed.


Start PackageMaker by typing the name in the spotlight search field. Once started, accept the defaults for the Install properties dialog.


Enter the details for the desired package, for the case of this example we will be installing the ‘I Can animate package’.


Click ‘Project’ -> ‘Add Snapshot Package’.


Prepare the installation program, ensuring that the window and is ready to install.


When ready click the ‘Start’ Button on the dialog below.


The ‘snapshot’ process will begin and PackageMaker will begin monitoring the system for file additions, modifications and removals.


At this point begin the program installer by double clicking on the relevant program, in this case the ‘Install I Can Animate’ program.


When the installation has completed, click the ‘STOP’ button in package Maker to stop the monitoring phase – at which point Package Maker will pause while creating the package Manifest, a process that could take from a few seconds to several hours depending on the size and complexity of the package.

Once the manifest creation is complete list of the files and folders that have been modified during the installation will be displayed.


For now click ‘Save’ to save the manifest but as you gain experience you should aim to remove any files & folders from the list which have no link to the package – this will ensure that erroneous items such as configuration changes aren’t included .


From the main Package Maker screen edit the ‘snapshot’ entry  in the contents window and name it ‘I Can Animate’ – substituting this for the name of the real package.

Click the ‘File’ -> ‘save’ menu selection and provide a suitable name for the package. Once completed, click the ‘Project -> Build’ Item, provide a suitable name and click save. Package Maker will proceed to create the package based on the manifest identified during the snapshot process.


I hope this was of some help, there are a lot of options and different methods for package creation. Which method you pick will depend on the application and your experience. This article I hope serves as a starting point for anyone looking to use OSX packaging in a enterprise environment.

All my articles, including non OSX ones can be found on my BLOG. Please drop by and if you have any suggestions or errors I'd love to hear from you. If this article is helpful please comment or mark it as such!
Adrian CantrillSolutions Architect

Comments (0)

Have a question about something in this article? You can receive help directly from the article author. Sign up for a free trial to get started.