A script that automates downloading macOS installers, and optionally erasing or upgrading macOS in a single process. Watch the video!
--cloneuser
option.icons
directory is created when running as standalone script.Since the package on this site is not signed, if you download this package from a browser and try to install it from Finder on a Mac running macOS Sequoia, it will fail to install, even if running Ctrl-Click. To solve this, do one of these:
sudo installer -tgt / -pkg /path/to/erase-install-35.0.pkg
xattr -d com.apple.quarantine /path/to/erase-install-35.0.pkg
--min-battery
option which, in conjunction with --check-power
allows to set a minimum battery percentage, above which the power check is ignored. For example, --check power --min-battery 30
sets the minimum percentage to 30%. The minimum allowed is 15% (addresses #455, thanks @PhillyPhoto). --check power
without --min-battery
still requires AC power.--language
option to give the ability to override the language of the dialog windows - the default is either the system language or English if there is no translation of the system language available. Now you can set the language to any of the available translations using the short language codes, which are en, de, fr, nl, es, pt, ja. For example, --language de
or --language=de
will set the language to German regardless of the system language setting.https://swscan.apple.com/content/catalogs/others/index-15seed-15-14-13-12-10.16-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog
, which can be used with --beta
and --catalog 15
to obtain macOS Sequoia beta installers. Note that this will be replaced with the production macOS 15 catalog once it is published.--pkg
mode.Since the package on this site is not signed, if you download this package and try to install it from Finder on a Mac running macOS Sequoia, it will fail to install, even if running Ctrl-Click. To solve this, do either of these:
sudo installer -tgt / -pkg /path/to/erase-install-35.0.pkg
xattr -d com.apple.quarantine /path/to/erase-install-35.0.pkg
--check-activity
option. This checks for an active meeting when using --reinstall
or --erase
options, and quits silently if so (#483, thanks @amadotejada for the idea, and thanks to the folks of installomator
for the improved function, and to @BigMacAdmin for pointing me in that direction).--fetch-full-installer
no longer attempts to set a seed program using seedutil
as this functionality has been removed since 13.4 and it's unlikely that betas for older major OSs will ever be listed again. Therefore, the --seedprogram
option has been removed (it was already superfluous in the mist-cli workflows). To list/use beta versions in either normal (mist-cli) mode or with --fetch-full-installer
, add the --beta
option.is-at-least
for simpler version comparisons throughout the script (thanks to the folks of installomator
for the inspiration).--parameter="value"
option.--credentials=XYZ
option (previously only --credentials XYZ
worked) (thanks @allanp81).--fetch-full-installer
option from failing due to a bug in the code change made in v31.0 to remove seedutil
options (addresses #479 and #488).--sameos
and --update
options, so that an outdated installer of the same OS as the system will be replaced when using both these optipons together (addresses #485).--credentials=XYZ
option (previously only --credentials XYZ
worked) (thanks @allanp81).--parameter="value"
option.com_apple_MobileAsset_MacSoftwareUpdate.xml
file within the Shared Support.dmg
. This should prevent installers that were not obtained using erase-install from running if they are not compatible with the system.--os
searches will search for the relevant version name rather than number, to avoid a bug in mist-cli that may result in download an inappropriate installer if the chosen major OS is not available. Note that this bug is fixed in mist-cli 2.0, but I'll leave the workaround in place for the time being.seedutil
on 13.4 or newer when using the --ffi
option as it doesn't work any more.--replace-invalid
or --update
regardless of whether the --pkg
option is selected or not.--os
and --update
now work together.--beta
option.