Erase Install Versions Save

A script that automates downloading macOS installers, and optionally erasing or upgrading macOS in a single process. Watch the video!

v36.0

2 weeks ago

Updates in 36.0

  • Added Ukrainian localization (#512, thanks to @liubkkkko for this contribution).
  • Added --cloneuser option.

Bugfixes in 36.0

  • Ensured icons directory is created when running as standalone script.

Notice for installing erase-install package on macOS Sequoia

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:

  1. Go to System Settings, Privacy & Security, scroll down, click on "Open Anyway".
  2. Install from the command line, e.g. sudo installer -tgt / -pkg /path/to/erase-install-35.0.pkg
  3. Remove the quarantine bit, e.g. xattr -d com.apple.quarantine /path/to/erase-install-35.0.pkg

v35.0

3 weeks ago

Updates in 35.0

  • Added the --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.
  • Added a 5-minute timeout to the password dialogs to prevent people ignoring it (addresses #501, thanks @PhillyPhoto).
  • Added the --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.
  • Bumped mist-cli version to 2.1 which fixes a bug downloading macOS Sequoia beta installers.
  • Bumped swiftDialog version to 2.5.0 except for systems running macOS 11 which still get 2.2.1. Note that the installer package includes version 2.5.0. If running on Big Sur, this will be deleted and an internet connection is required to download version 2.2.1.
  • Added the catalog 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.

Bugfixes in 35.0

  • Fixed the comparison check of installer pkgs with current system when using --pkg mode.
  • Changed lock symbol colour on the password dialog from grey to black as grey seems to have stopped working.
  • Fixed code comment error (#508, thanks @jarrodCoombes).
  • Fixed some function output labels.

Notice for installing erase-install package on macOS Sequoia

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:

  1. Install from the command line, e.g. sudo installer -tgt / -pkg /path/to/erase-install-35.0.pkg
  2. Go to System Settings, Privacy & Security, and scroll down to find the entry that gives an option to "Open Anyway". Then right-click will work again.
  3. Remove the quarantine bit, e.g. xattr -d com.apple.quarantine /path/to/erase-install-35.0.pkg

v34.0

2 months ago

Updates in 34.0

  • Added Japanese localization (#496, thanks to @teddi for this contribution).
  • Enforce the required version of mist-cli to prevent reported issues of older versions downloading incompatible macOS installers (#500, thanks @cchsadmin).
  • Use the GitHub API to obtain swiftDialog and mist-cli download URL (#494, thanks @bartreardon).

Bugfixes in 34.0

  • Fix comparison check of this script with latest available version.

v33.1

3 months ago

Bugfixes in 33.1

  • Changed swiftDialog download URL which has changed again.
  • Fixed logic for comparing OS versions with the --os and --sameos options, which is broken in 33.0.

v33.0

4 months ago

Updates in 33.0

  • Removed searches for cached DMG and sparseimages (addresses #480).
  • Added experimental --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).
  • Bumped swiftDialog version to 2.4.2 except for systems running macOS 11 which still get 2.2.1.
  • The installer package now includes both swiftDialog 2.4.2 and 2.2.1, and the postinstall script determines which version to install on the system based on the system OS.
    • NOTE: This also limits the package installation to macOS 11 and newer. If you wish to use erase-install on macOS 10.15 or older, it is recommended to use v27.3.
  • --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.
  • Switched to using the zsh function is-at-least for simpler version comparisons throughout the script (thanks to the folks of installomator for the inspiration).

Bugfixes in 33.0

  • Removed quotes from the value obtained from any inputted --parameter="value" option.
  • Added missing --credentials=XYZ option (previously only --credentials XYZ worked) (thanks @allanp81).
  • Fixed the --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).
  • Fixed the simultaneous use of --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).
  • Removed the previous bugfix that was introduced in version 30.2 to workaround a bug in mist-cli at the time that would list RCs as regular builds.

v32.1

5 months ago
  • Add missing --credentials=XYZ option (previously only --credentials XYZ worked) (thanks @allanp81).
  • Remove quotes from the value obtained from any inputted --parameter="value" option.

v32.0

6 months ago
  • Include a compatibility check for cached installers, utilising data from the 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.
  • Add the ability to change the default icon size in dialogs, and to supply an alternative icon for confirmation dialogs (#462, addressed in #463, thanks to @popaprozac).
  • Bump swiftDialog version to 2.3.3 except for systems running macOS 11 which still get 2.2.1. Note that the installer package includes version 2.3.3. If running on Big Sur, this will be deleted and an internet connection is required to download version 2.2.1.
  • Fix swiftDialog URL, which has moved (#469, thanks to @scottborcherdt).
  • Replaced some SF Symbol icons in dialogs for compatibility with macOS 11 (fixes #470, thanks to @BigMacAdmin).

v31.0

8 months ago
  • Bump mist-cli version to 2.0.
  • Bump swiftDialog version to 2.3.2 except for systems running macOS 11 which still get 2.2.1. Note that the installer package includes version 2.3.2. If running on Big Sur, this will be deleted and an internet connection is required to download version 2.2.1.
  • Added localisation for Brazilian Portuguese (#432, thanks to @hooleahn).
  • --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.
  • Use icons in the GitHub repo instead of using the InstallAssistant icon which occasionally doesn't render.
  • Stop trying to use seedutil on 13.4 or newer when using the --ffi option as it doesn't work any more.
  • Moved up the log rotation so that we get all output of the current run, and made it less verbose.
  • Add macOS Sonoma catalog.
  • Invalid package is removed when using --replace-invalid or --update regardless of whether the --pkg option is selected or not.
  • --os and --update now work together.

v30.2

10 months ago
  • Emergency release to fix the listing of 13.6 RC in the regular lists. This is caused due to the mist-cli default catalogs including the seed catalogs. Now the production catalog is specified unless using the --beta option.

v30.1

11 months ago
  • (Hopefully temporary) fix for a bug in mist-cli where it isn't setting the permissions of the Install application properly.
  • Remove ANSI formatting from mist-cli output when listing installers.
  • Output stderr from swiftDialog to dev/null to avoid occasional Xfont error warnings in logs
  • Minor fixes.