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?
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.
@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.
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.
heading="Please wait as we prepare your computer for macOS Catalina..."
This process will take approximately 40-50 minutes.
Once completed your computer will reboot and begin the upgrade."
icon=/Applications/Install macOS Catalina.app/Contents/Resources/InstallAssistant.icns
/Library/Application Support/JAMF/bin/jamfHelper.app/Contents/MacOS/jamfHelper -windowType fs -title "" -icon "$icon" -heading "$heading" -description "$description" &
/Applications/Install macOS Catalina.app/Contents/Resources/startosinstall --rebootdelay 2 --agreetolicense --forcequitapps --pidtosignal $jamfHelperPID &
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.
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.
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.
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?
@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!