New to JAMF Casper

New Contributor II

Hey Everyone

Just getting started with JAMF Casper here, and I would like to dive right in and see what are the best ways to get things done. I would like to know what are the best ways to package applications to be installed to your images or through Casper Remote. Is Composer the best option, and are there step-by-step instructions for the various ways to create install packages?

I would appreciate some links so I can get more familiarized.

Thanks again!


Honored Contributor II
Honored Contributor II

The need for packaging is slowly going away, but I would recommend either using autopkg or Composer.

Where possible I'd avoid repackaging things though.

Information on the topic is a bit scattered so you'll normally be looking for information on packaging on a specific app. The derflounder, macmule and Amsys blogs have a lot of information but searching in Google will quite often get you to the right place.

Honored Contributor

If you do need to package, I recommend Packages:

And get familiar with pkgbuild and pkgutil which are available on OS X 10.7+.

Esteemed Contributor III

Composer isn't bad, as long as it is configured with you properly set Default bundle identifier (in prefs), and set it to create flat PKGs, and sign whenever possible, and remember to properly set Version, and IF Major Version, and IF Minor Version...less tedious with, and easier to create logical workflow for a team.


Esteemed Contributor III Suspicious Package while you're at it.

(yea, you read that right)



Valued Contributor II

First off Welcome!

Secondly, join us on Slack. MacAdmins
Third, Check out the infamous @rtrouton's Blog


A few things:

+1 for Suspicious Package! It's not a packing tool, but lets you look inside Apple Installer .pkg files to see how they're built and what they're doing.

If you receive .pkg installer files from a vendor then you don't need to repackage. You'll add those directly to Casper Admin.

You will need to repackage most anything that comes as a .app installer (not including OS X installers) or items such as Firefox or Chrome that come as drag-n-drop applications.

When are you scheduled for your JumpStart?

Valued Contributor II

Hey @donmontalvo can you elaborate a little more on what you mean by properly setting the Default Bundle Identifier, Version, IF Major Version, and IF Minor Version? I've been using Composer for a while now and have never messed with any of that. I'm curious what I'm missing out on. Thanks.

Legendary Contributor III

@mpermann You can (and probably should) set a default bundle identifier string to use with any packages you build from Composer in its Preferences setting under the Advanced button. So, say for example you work for You can set the following string in the prefs:


Later if you build, say, a Firefox package with it and the Composer source is named "Firefox 41.0.2", it will set the package identifier to "com.acme.firefox41.0.2" when its built. In other words, it uses the string you set in preferences, plus the composer name (stripped of spaces and such) combined as the identifier.
Why is this important? Well, since Casper can capture package receipts, later on when viewing a Mac's record, you can determine if the version of Firefox installed on it was from your package by looking in the package receipts, or if it was manually installed by the user. You can also build Smart Groups based on those package receipts, so having them customized to id them as ones you've built can come in handy later on.

As for the IF Major/Minor version thing, Don will need to chime in 'cause I'm actually not sure on that, but maybe he means the OS requirement setting you can set in Casper Admin per package? Or, just remembering to set the application version as part of the pkg name? So @donmontalvo what did you mean by that? :)

Esteemed Contributor III

For Bundle Identifier, scroll to CFBundleIdentifier.

See page 20 of Composer_User_Guide for If Major and If Minor example. Also:

Semantic Versioning 2.0.0
Software versioning
Conditional Items



Esteemed Contributor III

We usually don't include the version in the package name, unless it is a major version change.

Parallels 10 vs Parallels 11:

  • com.companyname.pkg.parallels10
  • com.companyname.pkg.parallels11

You can always make the Display Name in JSS whatever you want it to be, like Parallels Desktop 11 (xyz123)


New Contributor II

Gentlemen.... highly appreciated. After a year of on and off with JAMF at my last locale, I can start diving back into it. I got my work cut out with all the great info provided, and as always thanks to Don for being very thorough!