Composer 10.5.0 User Guide
Composer 10.5.0 User Guide
Composer 10.5.0 User Guide
Version 10.5.0
© copyright 2002-2018 Jamf. All rights reserved.
Jamf has made all efforts to ensure that this guide is accurate.
Jamf
100 Washington Ave S Suite 1100
Minneapolis, MN 55401-2155
(612) 605-6625
Under the copyright laws, this publication may not be copied, in whole or in part, without the
written consent of Jamf.
Apple, the Apple logo, Apple Remote Desktop, Finder, Keychain, Mac, macOS, and OS X are
trademarks of Apple Inc., registered in the United States and other countries.
The CASPER SUITE, COMPOSER®, the COMPOSER Logo®, Jamf, the Jamf Logo, JAMF SOFTWARE®,
the JAMF SOFTWARE Logo®, RECON®, and the RECON Logo® are registered or common law
trademarks of JAMF SOFTWARE, LLC in the U.S. and other countries.
Microsoft and Active Directory are either registered trademarks or trademarks of Microsoft
Corporation in the United States and/or other countries.
All other product and service names mentioned herein are either registered trademarks or
trademarks of their respective companies.
Contents
5 About Composer
5 Related Information
14 Package Manifests
14 Package Manifests
14 Creating Package Manifests
15 Updating Package Manifests
16 Importing Package Manifests
24 Localizations
24 Adding Localizations to Package Sources
25 Adding and Editing Files for a Localization
29 Building OS Packages
30 Installing and Configuring the OS
30 Packaging the OS
30 Related Information
3
31 Composer Preferences
31 Toolbar Preferences
32 Package Preferences
33 Exclusion List
34 Advanced Preferences
36 Glossary
4
About Composer
Composer allows you to build packages of software, applications, preference files, or documents. A
package is a self-contained group of files that can be deployed to remote computers or as part of the
imaging process.
The first step to building a package is creating a package source. Depending on the files you want to
package, Composer allows you to monitor the installation of your software or use files that already
exist on the drive to create the package source.
After you create a package source, you can build a PKG or a DMG from the package source.
Related Information
For related information, see the following sections in this guide:
Creating Package Sources
Find out how to create a package source using several different methods.
Building Packages from Package Sources
Find out how to build a PKG or DMG from a package source.
Building OS Packages
Find out how to build a DMG of an operating system.
5
Creating Package Sources
A package source allows you to view and edit attributes of a package (such as files, scripts, privileges,
and localizations) before it is built. Once a package source exists for a group of files, you can make
modifications and build the package as many times as necessary.
Taking Snapshots
If the files you want to package are not already installed on the drive, Composer can take a snapshot
of the file system before and after the files have been installed and create a package source based on
the changes.
6
You can log out or reboot during the installation process.
If you delete a file while making modifications to a package source, it may be possible to restore
the deleted file. For more information about restoring deleted files, see Adding Scripts to Package
Sources.
4. Select Normal Snapshot or New & Modified Snapshot and click Next.
7
6. Install and configure your software, and then click Create Package Source to initiate the “after”
snapshot.
The following limitations should be taken into consideration when monitoring the file system to
create a package source:
You cannot quit Composer during the installation process.
You cannot log in or restart during the installation process.
It is possible for FSEvents to miss events if there is too much file system activity.
8
3. Under the Monitor Installation heading in the sidebar, select Snapshot.
6. Install and configure your software, and then click Create Package Source.
9
Creating Package Sources From Pre-Installed Software
You can create a package source from software that is currently installed on your computer if
Composer contains a package manifest for the software.
Note: If there is software you would like added to the package manifest options in Composer, email
your recommendations to diffs@jamf.com.
10
Creating Package Sources from the User Environment
Settings
You can create a package source that captures the look and feel of your computer’s interface, such as
Dashboard, Display, and Global Preference settings. If Composer contains a package manifest for the
setting you want to capture, you can create a package source from it.
To determine which of your current settings Composer can package, select User Environment under
the Package Manifests heading. Composer scans the file system and displays icons for the settings
that it has package manifests for.
Note: If there is a setting you would like added to the package manifest options in Composer, email
your recommendations to diffs@jamfsoftware.com.
4. Select the item(s) you want to create a package source from and click Next.
11
If the item is a folder, the root of the folder is used as the root of the package if it is one of the
following directories:
/Applications/
/Developer/
/Library/
/System/
/Users/
/bin/
/private/
/sbin/
/usr/
Any other items are copied to their current location.
Note: This is the equivalent of a PreBuilt package in earlier versions of Composer.
2. Drag the package you want to convert from the Finder to the sidebar in Composer.
The package appears under the Packages heading.
3. Select the package and click Convert to Source.
When the conversion is complete, a new package source is listed in the sidebar under the Sources
heading.
12
Related Information
For related information, see the following Jamf Knowledge Base video:
13
Package Manifests
Package Manifests
Package manifests are .composer files that can be used to create package sources from the software
installed on your computer. They can also be used to capture settings configured on your computer,
such as Dashboard, Display, and Global Preference settings.
Composer comes with over 100 package manifests. You can use the update feature in Composer to
add new package manifests as they become available. You can also create your own package
manifests and import package manifests that are stored on your computer.
4. Control-click (or right-click) Files For Package and select Export Package Manifest.
5.
14
5. Enter a name for the package manifest.
6. Enter a description of the package manifest and the name of the person who is creating it.
7. Select the checkbox next to each file that must be present on a computer for the package manifest to
appear under the Pre-Installed Software heading or the User Environment heading in Composer.
8. If desired, select the Custom Icon checkbox and choose an icon for the package manifest.
The icon is displayed when viewing the package manifest in Composer.
9. If you want to upload the package manifest to Jamf Nation:
b. Enter the username and password for your Jamf Nation account.
c. Choose a third-party product to associate the package manifest with. For example, if you are
creating a package manifest for Adobe Reader 10, associate it with the "Adobe Reader" third-party
product.
d. Click Upload.
11. Choose a location to save the package manifest and click Save.
15
Composer downloads the latest package manifests from Jamf Nation and any new package manifests
that Jamf has added to the application, and stores them in the following location:
/Library/Application Support/JAMF/Composer/ImportedPackageManifests/
To import package manifests that are saved to your computer, choose File > Import Package
Manifests from the menu bar in Composer and then choose the package manifest you want to
import.
Composer imports the package manifests and stores them in the following location:
/Library/Application Support/JAMF/Composer/ImportedPackageManifests/
16
Viewing and Editing the Contents of
Package Sources
Once a package source exists for the files you want to package, Composer allows you to do the
following:
Delete files that should not be included in the package.
Add files by dragging them into Composer from the Finder.
Change privileges on a file or folder.
Restore files that were deleted from the package source.
In addition to viewing files or folders through the Composer interface, you can view this information
in the Finder or using Quick Look.
Note: Deleted files and folders can only be restored if a snapshot was used to create the package
source.
1.
17
1. Open Composer and authenticate locally.
2. Click the disclosure triangle next to the package source in the sidebar.
4. Select Files for Package to display a list of files, folders, and directories from the snapshot.
18
Adding Scripts to Package Sources
Composer allows you to manage scripts for PKGs. The following default scripts are available in shell
and perl:
InstallationCheck
Postflight
Postinstall
Postupgrade
Preflight
Preinstall
Preupgrade
VolumeCheck
Note: Flat PKGs support Preinstall and Postinstall scripts only. To build a PKG that contains other
scripts, you can deselect the Build Flat PKGs option in Composer preferences, or you can disable this
preference for a single package. For information on how to disable this preference for a single
package, see Building a PKG. For more information on flat PKGs, see Composer Preferences.
These scripts read in the available parameters that are received from the installer and give
descriptions for the supported exit codes.
Composer also attempts to verify that the script syntax is valid. If a script appears to have invalid
syntax, a warning icon appears.
To view the error that occurred while Composer was verifying the script, Control-click (or right-click)
the script and choose Compile Script.
Note: InstallationCheck and VolumeCheck scripts have warning and failure messages that
can be localized according to the needs of the user. To localize these messages, the corresponding .
strings file (InstallationCheck.strings or VolumeCheck.strings) must be created for
each localization.
Adding a postflight script to a package source allows you to remove deprecated or unneeded files
from computers as they install the package.
2. Click the disclosure triangle next to the package source in the sidebar.
19
3. Do one of the following:
To add a postflight script that removes deleted files from computers, click the disclosure triangle
next to Snapshots. Then Control-click (or right-click) the Deleted Files heading and choose Add
postflight Shell Script.
Note: This function is only available if a snapshot was used to create the package source.
To add another type of script, Control-click (or right-click) Scripts and choose the script you want to
add.
Note: This function is only available if a snapshot was used to create the package source.
2. Click the disclosure triangle next to the package source in the sidebar.
4. Select the Deleted Files heading to view the deleted files captured by the snapshot.
20
5. Control-click (or right-click) the Deleted Files heading and choose Add postflight Shell Script.
21
Editing PLIST Files in Package Sources
The Installer application uses information property list (info.plist) files and description property
list (description.plist) files to display information about a package and determine how it is
installed. Composer allows you to edit the most commonly used information in these files.
Bundle Identifier
Identifies what kind of package it is. For example, com.jamfsoftware.composer
Version
Identifies the iteration. For example, 7.01
IF Major Version
Identifies the major version number.
IF Minor Version
Identifies the minor version number.
Restart Action
Specifies reboot protocol for a package.
Authorization Action
Specifies authorization requirements.
22
Root Volume Only
Indicates the package can only be installed to the root volume.
Less commonly used keys and values are also contained in the info.plist file. If you need to edit these
items, Control-click (or right-click) Info.plist in the sidebar and select Edit Manually. This allows
you to add or edit items in raw XML format.
Each localization includes its own description.plist file that allows you to define a description
title and description for a package based on the target language.
There are other keys and values contained in the description.plist file. If you need to edit
these items, Control-click (or right-click) Description.plist in the sidebar and select Edit Manually. This
allows you to add or edit items in raw XML format.
23
Localizations
Localizations allow you to customize the language used when displaying package information to a
user. By default, a package source only includes an English localization.
Composer includes defaults for the following localizations supported by the PKG format:
da.lproj
Dutch.lproj
English.lproj
Fi.lproj
French.lproj
German.lproj
Italian.lproj
Japanese.lproj
ko.lproj
no.lproj
pl.lproj
pt_PT.lproj
pt.lproj
ru.lproj
Spanish.lproj
sv.lproj
zh_CN.lproj
zh_TW.lproj
2. Click the disclosure triangle next to the package source in the sidebar.
24
3. Control-click (or right-click) Settings and choose the localization that you want to add.
2. Click the disclosure triangle next to the package source in the sidebar.
25
4. Control-click (or right-click) the language folder you want to add the .strings file to, and select Create
InstallationCheck.strings or Create VolumeCheck.strings.
5. Click the .strings file to change its contents in the Package Contents pane.
26
Building Packages from Package Sources
After you have verified the contents of a package source, Composer allows you to build two different
kinds of packages: PKGs and DMGs. Each format has advantages depending on the intended use of
the package and the tool you use to deploy it.
Once a package source exists in Composer, you can build a PKG or DMG package from the source at
any time. You also have the ability to convert from one format to another after a package has been
built. For more information about converting between the PKG and DMG formats, see Creating
Package Sources from Existing Packages.
Building a PKG
PKGs can be deployed using almost any deployment tool, such as Apple Remote Desktop (ARD), Jamf
Pro, and other client management systems.
The PKG format allows for easy installation by the user. Double-clicking the package opens the
Installer application and guides the user through the installation process.
Note: PKGs cannot dynamically deploy files in the user’s home directory to user templates when used
with Jamf Pro.
By default, Composer builds flat PKGs. For more information on flat PKGs, see Composer Preferences.
2. Select the package source you want to build as a PKG from the Sources list in the sidebar.
Building a DMG
When used in conjunction with Jamf Pro, the DMG format allows you to dynamically deploy files and
folders to each user that has an account on a computer, as well as the network home directories of
currently logged-in users. There is also an option to deploy files and folders to the user template
directories, ensuring that any new user receives the correct default environment.
2. Select the package source you want to build as a DMG from the Sources list in the sidebar.
3.
27
3. In the toolbar, click Build as DMG .
4. Select a location to save the package and click Save.
28
Building OS Packages
In addition to building deployable packages of applications and other files, Composer allows you to
build DMGs of preconfigured operating systems. OS packages can save you time and enhance
consistency across your network.
While building an OS package with Composer is similar to building one with the Disk Utility
application, Composer allows you to clean up the OS by removing unnecessary files before building
the DMG.
Composer allows you to manage the following cleanup options for an OS package:
/private/var/db/BootCache.playlist /private/var/db/volinfo.database
Delete Caches
This option removes files in the /Library/Caches directory before building an OS package.
29
Installing and Configuring the OS
For instructions on how to install and configure the OS before building an OS package, see the
following Knowledge Base article:
Packaging the OS
When you’re finished configuring the OS, boot to another startup disk to build the DMG.
5. Choose options for removing unnecessary files from the package and click Next.
6. Enter a package name and select a location to save the package, and then click Build.
Related Information
For related information, see the following Knowledge Base article:
30
Composer Preferences
Composer allows you to manage the following settings:
Toolbar preferences
Package preferences
Cleanup options for OS packages
Excluded files
Location of the work directory
Default bundle identifier
You can access Composer preferences by choosing Composer > Preferences from the menu bar.
Toolbar Preferences
Composer allows you to customize the toolbar by adding and removing items.
To add items to the toolbar, Control-click (or right-click) the toolbar and select Customize toolbar,
and then drag desired items to the toolbar.
To remove an item from the toolbar, simply drag the item off of the toolbar.
31
Package Preferences
Composer allows you to manage Package preferences from the pane in the screen shot below.
Select the Sign with option and choose an installer certificate from the pop-up menu. Installer
certificates that are located in the login keychain in Keychain Access are displayed in the pop-up
menu.
Note: The pop-up menu also displays application certificates that are located in the login keychain in
Keychain Access. It is important that you use an installer certificate, not an application certificate, to
sign flat PKGs.
For instructions on how to obtain an installer certificate from Apple, see the following Knowledge
Base article:
To install a signed PKG, computers must have a Certification Authority intermediate certificate from
Apple in the System keychain in Keychain Access. For instructions on how to obtain this certificate
and import it to the System keychain on managed computers, see the following Knowledge Base
article:
Importing a Certification Authority Intermediate Certificate from Apple to the System Keychain
32
Remove .DS_Store Files in Common Locations
Enabling this option ensures the removal of any files that disturb the way Finder windows are
presented on a user’s computer. Any .DS_Store files necessary to configure views of deployed files
and folders will not be removed.
/.DS_Store
/Applications/.DS_Store
/Applications/Utilities/.DS_Store
/Developer/.DS_Store
/Library/.DS_Store
/System/.DS_Store
/Users/.DS_Store
/Users/<username>/.DS_Store
/Users/<username>/<first_level_directory>/.DS_Store
Play Sounds
Composer plays a sound each time a package source is created or deleted.
Exclusion List
The exclusion list allows you to specify files and folders that should be ignored when creating a
package using a snapshot or file system monitoring.
To view the exclusion list, click Exclusion List in the toolbar. A list of common files and folders is
specified by default.
To add and remove files, use the Add (+) and Delete (–) buttons at the bottom of the list.
33
Advanced Preferences
Composer allows you to manage some advanced preferences from the pane in the screen shot
below.
Work Directory
When Composer creates a package source, it copies files to a work directory. This work directory must
have privileges enabled.
To change this directory, click Change, or hold down the Option key when you open Composer.
34
Default Bundle Identifier
The default bundle identifier is used when creating the info.plist file for a new package source.
For example, if the default bundle identifier is “com.jamfsoftware”, and you create a package
source named “Composer”, the bundle identifier for the package source is “com.jamfsoftware.
composer”.
35
Glossary
description.plist file The editable file used to display the title of a package and its description in
Apple’s Installer application.
DMG Composer’s packaging format that allows you to dynamically deploy files and folders to each
user that has an account on a computer, as well as the network home directories of currently logged-
in users.
exclusion list The editable list of files that should not be included in a package.
file system monitoring The method of package source creation in which Composer monitors any
changes made to the file system during the installation process.
info.plist file The editable file that contains configuration information for a package, such as its
bundle identifier, string information, version number, etc.
localization The language in which a package displays information to the end user.
package manifests The default files in Composer that determine which pre-existing files on a
computer can be built into a package.
package source The stage at which a package can be modified in Composer. Package sources are
listed under Composer’s Sources list.
PKG Composer’s packaging format that can be deployed using Apple Remote Desktop, Jamf Pro, and
other client management systems.
strings files InstallationCheck.strings and VolumeCheck.strings are files that can be added to a
package to localize warning and error messages.
36