Advanced Mac Software Deployment and Configuration

Practical Approaches for Identifying and Fixing Issues by Tim Sutton, Concordia University

Most of us are in the business of helping people in organizations use computers to get their work done. Computers are nothing without the software they run, and so it follows that many of us are also in the business of managing desktop software at a significant scale.
“Managing” may mean simply providing access and documentation for users, but as it often also involves delivery, packaging, configuration and licensing, it’s often best if a systems admin (or team thereof) plans out and implements these details as well. We often rely on powerful, scalable software management tools (Munki and Jamf Pro being two popular examples) to enable us to efficiently deliver software to large populations of desktop computers, and to keep them up to date.
Unfortunately, it’s often non-trivial to deploy desktop software in an automated fashion and for it to actually function properly. Why is this? Isn’t this software widely used around the world, and easy enough for a layperson to install? Why are there issues when we install software using our management tools? Aren’t we supposed to be good at this?
Software vendors choose from several different possible avenues to install their software. These range anywhere from simply “copy an application bundle to the ‘Applications’ folder” to very thorough, proprietary implementations of installer frameworks which are used only by a handful of applications. Such proprietary installers often ignore capabilities of the native installer frameworks offered by the OS vendor (e.g. Apple, Microsoft) and as a result, our options for instrumenting the installation for our purposes are often at the mercy of the software vendor. Custom installer tools and apps also often betray the vendor’s opinions (or naivety) about what it means to install software or licenses on a multi-user OS.
What does this all mean in practice? It means that often, when installing software using our management tools, we need to do some additional work to “fix” the installation (or the installer itself) so that it actually functions as desired. If we don’t, we often find installed software that suffers from one or more of the following ailments, wherein it:

  • Is missing components and/or configuration, either crippling its functionality or causing it to not launch
  • Prompts the user for admin credentials in order to “complete” some part of the installation, or to install software updates
  • Is not properly licensed, either not launching or not fully functional (in the case of commercial software)

To figure out the appropriate remedy, we need to understand how different applications or frameworks store user preferences. We may need to monitor filesystem changes for clues as to why errors are occurring. We will certainly need to audit any scripts or binaries that vendors ship in their installers, which often make inappropriate assumptions, and understand why they are problematic.

My session at MacADUK 2017, “Advanced Mac Software Deployment and Configuration,” will focus on practical approaches for identifying and fixing the issues I’ve described here. With macOS, we have a wealth of tools readily available, and a panoply of terrible software installers with which to sharpen them. Hope to see you there!

About Tim Sutton

Tim Sutton is a Mac sysadmin and consultant based in Montreal, managing a fleet of Macs at Concordia University’s Faculty of Fine Arts. He’s an active member of the community surrounding open-source Mac admin tools, and thrilled to be attending MacADUK for the first time.
He can be found on Twitter and the MacAdmins Slack group as @tvsutton, and regularly posts his experiments on his blog.
Twitter | GitHub | Blog