Cache Catalina Upgrade

Beckett
New Contributor

I have a script that will install Catalina however I'm struggling to get a script working that will cache the "Install macOS Catalina.app" to the applications folder.

I have a copy of the .app and have built a .pkg as well but I can't get a script to deploy either of them.

Can anyone point me in the right direction?

14 REPLIES 14

nelsoni
Contributor III

This is a good place to start, covers allot of Catalina install methods.

https://www.jamf.com/blog/reinstall-a-clean-macos-with-one-button/

mm2270
Legendary Contributor III

What do you mean by "script to deploy either of them"? Maybe that was just a typo, but just in case, you would deploy a .pkg or .dmg file of the installer in a policy, which will drop it into the location specified in the package.

To be sure, it's a large file to deploy, so you may be seeing issues with bandwidth and the process timing out as it pushes the large file down to the Mac. If so, I wish I could offer a good alternative, but other than allowing your users to download Catalina from the Mac App Store, the only other way to get it to their Macs is with a standard package. I don't believe there is a good scripted way to make it download to their machines. If there is, I'd be interested to know how.

sdagley
Esteemed Contributor II

@mm2270 Once upon a time I "borrowed" the modified installinstallmacos.py and wrapper from erase-install so I could download the Mojave installer directly from Apple's update servers as part of my Mojave update script. I dropped it because every time Apple updated the Mojave installer I had to disable the update item in Self Service until I could qualify the new bits.

Ajayv
New Contributor III

Hi @Beckett ,

I create this script with the jamf helper if you have already cached Catalina .app to the /Application folder. we are using this. I hope it should work for you.

!/bin/bash

Heading to be used for jamfHelper

heading="Please wait as we prepare your computer for macOS Catalina..."

Title to be used for jamfHelper

description="

This process will take approximately 40-50 minutes.

Once completed your computer will reboot and begin the upgrade."

Icon to be used for jamfHelper

icon=/Applications/Install macOS Catalina.app/Contents/Resources/InstallAssistant.icns

Launch jamfHelper

/Library/Application Support/JAMF/bin/jamfHelper.app/Contents/MacOS/jamfHelper -windowType fs -title "" -icon "$icon" -heading "$heading" -description "$description" &

jamfHelperPID=$(echo $!)

Start macOS Upgrade

/Applications/Install macOS Catalina.app/Contents/Resources/startosinstall --rebootdelay 2 --agreetolicense --forcequitapps --pidtosignal $jamfHelperPID &

exit 0

akhan_admin
New Contributor II

@Ajayv

Do you know how to allow temporary caching so you can cache catalina to the Application folder?

tal
New Contributor

@akhan.admin Did you find a way to cache the "Install macOS Catalina.app" to the /Application folder?
Thank you in advance.

smpotter
New Contributor III

The only way I can think of to cache or place the "Install macOS Catalina.app" to the Applications folder is to build a package that simply copies the file into the Applications folder. Then you can call it later with a script to start the upgrade process.

atomczynski
Valued Contributor

Yup,

I’ve build a package consisting of the .app

Next year it will be easier as you will be able to run the command to download the installer from the web and it will download the latest version.

akhan_admin
New Contributor II

@Ajayv Before messaging you I tried what @smpotter described but its not working.

atomczynski
Valued Contributor

Once I had the complete installer I copied it to the Applications folder.

Then used Composer to package it.

You can scope the install command to:

Machines that you want to upgrade such as “lab 123” and have “cache installer” policy.

This way the user won’t see the “install” until the machine has the .app first.

Br3ck
New Contributor III

@tal - Use VPP to cache the installer in /Applications

sdagley
Esteemed Contributor II

Using VPP to cache the App Store delivered version of a macOS installer has been problematic in the past due to not always getting the full installer, and if you're using a script like macOSUpgrade it won't work with the stub OS installer that's designed to be run by a user. Has that behavior changed with macOS Catalina?

rcole
Contributor

@atomczynski that is very fascinating! How do you call the Installer after it has been cached? That's the one thing that I haven't been able to wrap my head around? Do you run a Policy to Install the cached package under Maintenance? Please let me know. Intriguing discussion, Gents!

atomczynski
Valued Contributor

@rcole

I've been using
File and Process

/Applications/Install macOS Catalina.app/Contents/Resources/startosinstall --agreetolicense  --rebootdelay 90 --forcequitapps

or

/Applications/Install macOS Catalina.app/Contents/Resources/startosinstall --agreetolicense  &