Skip to main content
Question

Packaging and Deploying the macOS Installer

  • January 6, 2022
  • 10 replies
  • 63 views

Forum|alt.badge.img+12
  • Valued Contributor
  • 156 replies

https://docs.jamf.com/technical-papers/jamf-pro/deploying-macos-upgrades/9.96/Packaging_and_Deploying_the_macOS_Installer.html

JAMF's online document "Packaging and Deploying the macOS Installer" is misleading, errors are mentioned below.

Step 1: Add the .app File for macOS to Jamf Admin or Composer

Adding the .app File for macOS to Jamf Admin - this is not possible, you can't drag and drop an app file into Jamf Admin.
Adding the .app File for macOS to Composer - this is not possible, you can't create PKG file from app file, it gives you tiny 16MB file. You have to always create DMG for macOS files.

 

This document needs to be fixed. Thanks.

10 replies

Forum|alt.badge.img+10
  • Valued Contributor
  • 134 replies
  • January 6, 2022

1) Make sure the .app is in Applications folder
2) Open Composer and drag the .app into composer (left panel)
3) Click the Build as DMG

always worked for me from Catalina to Monterey


sdagley
Forum|alt.badge.img+25
  • Jamf Heroes
  • 3567 replies
  • January 6, 2022

@khurram @sgiesbrecht There is no need to waste time packaging the macOS Big Sur or Monterey installers. Apple has already done that for you, and the Mr. Macintosh site provides download links for those installers:

https://mrmacintosh.com/macos-12-monterey-full-installer-database-download-directly-from-apple/

https://mrmacintosh.com/macos-big-sur-full-installer-database-download-directly-from-apple/

 


Forum|alt.badge.img+10
  • Valued Contributor
  • 134 replies
  • January 6, 2022

I haven't used lately, I use Nudge now
https://github.com/macadmins/nudge

 


RobertHammen
Forum|alt.badge.img+28
  • Esteemed Contributor
  • 1027 replies
  • January 6, 2022

Ever since the softwareupdate command got the --fetch-full-installer option, that approach has been a pointless exercise. Composer doesn't handle very large packages well.

/usr/sbin/softwareupdate --fetch-full-installer --full-installer-version 12.1

works fine for me. I've used this to pre-cache Install macOS Monterey.app on every compatible Mac not already on macOS 12. A caching server really, really helps with bandwidth here, too.


peternbevan
Forum|alt.badge.img+5
  • Contributor
  • 17 replies
  • January 6, 2022

Lots of useful info in this article, including a link to Armin Briegel's nice little Download Full Installer app which downloads InstallAssistant macOS packages which can be deployed straight to Jamf.  https://www.jamf.com/blog/reinstall-a-clean-macos-with-one-button/


Forum|alt.badge.img+12
  • Author
  • Valued Contributor
  • 156 replies
  • January 7, 2022

We are updating from High Sierra so we can't use the command below. This command works from 10.15.* only. We might have to keep using Composer at this stage until next time.

/usr/sbin/softwareupdate --fetch-full-installer --full-installer-version 11.6.2

 

Thanks for all the replies, they have enlightened us with new ways of macOS upgrade paths.


Forum|alt.badge.img+12
  • Author
  • Valued Contributor
  • 156 replies
  • January 7, 2022

1) Make sure the .app is in Applications folder
2) Open Composer and drag the .app into composer (left panel)
3) Click the Build as DMG

always worked for me from Catalina to Monterey


This is what we did eventually. However, the JAMF document suggests to create .PKG file which produces a 16MB .PKG file, this doesn't sound right as we were expecting the full 12GB+ full installer in .PKG format. Anyways, will use the .DMG file now. The difference is that on the target computer, the .PKG would have gone to /Applications folder however the .DMG will end up in /..../WaitingRoom folder.


daniel_ross
Forum|alt.badge.img+18
  • Jamf Heroes
  • 203 replies
  • January 11, 2022

Are you looking to just get users upgraded to the latest version of an OS or use this for other things like erasing and reinstalling OS's?


Forum|alt.badge.img+12
  • Author
  • Valued Contributor
  • 156 replies
  • January 11, 2022

Are you looking to just get users upgraded to the latest version of an OS or use this for other things like erasing and reinstalling OS's?


We are doing --eraseinstall from High Sierra to Big Sur. We have now achieved it by making .DMG file using  Jamf Composer and dropped it in Jamf Admin and then Cache to the target computers and install the cache with a --eraseinstall command in the policy. This is working for us. Would like to know if there is a better way. Once we are beyond 10.15.x we will be able to make the most of the direct download and install macOS updates/ upgrades.


dlondon
Forum|alt.badge.img+14
  • Honored Contributor
  • 376 replies
  • January 13, 2022

We are doing --eraseinstall from High Sierra to Big Sur. We have now achieved it by making .DMG file using  Jamf Composer and dropped it in Jamf Admin and then Cache to the target computers and install the cache with a --eraseinstall command in the policy. This is working for us. Would like to know if there is a better way. Once we are beyond 10.15.x we will be able to make the most of the direct download and install macOS updates/ upgrades.


For those older OS's that don't have --fetch-full-installer as an option of softwareupdateyou could download with a script like this.  Note this is just a rough proof of concept and I haven't tested the $4 and $5 bit but I thought it would be nice to have it easily changed.

 

 

 

#!/bin/bash # DownloadMacOSInstallApp.bash # List of available download url's is here https://mrmacintosh.com/macos-big-sur-full-installer-database-download-directly-from-apple/ # e.g. for 11.6.2 http://swcdn.apple.com/content/downloads/04/42/002-42341-A_4PL6G0S8GN/cs65avpi1aelh133lc36fy0ste3lihe71n/InstallAssistant.pkg # 2022-01-11 David London # Designed to take a field from Jamf Pro so it's easily changed to use with any download URL # $4 is download url # $5 is version if [ -z "$4" ]; then echo "No argument supplied so doing default 11.6.2" DownloadURL="http://swcdn.apple.com/content/downloads/04/42/002-42341-A_4PL6G0S8GN/cs65avpi1aelh133lc36fy0ste3lihe71n/InstallAssistant.pkg" else echo "Argument supplied so downloading version $5" DownloadURL="$4" fi # Some issue going on that needs retries for the download so used some info from here https://unix.stackexchange.com/questions/327372/can-i-make-curl-or-wget-restart-if-disconnected counter=0 # do we want a limit on retries? result=56 while [[ ${result} == 56 ]]; do curl -C - "$DownloadURL" -o /tmp/InstallAssistant.pkg result=$? done # Now deploy to /Applications /usr/sbin/installer -pkg /tmp/InstallAssistant.pkg -target /