EraseInstall Update: Version 1.2

We (the team I work with at Pro Warehouse) have released a new version of the EraseInstall application.

Version 1.2 is now notarized, so it should continue to work with macOS 10.14.5 and newer. It also checks the battery level before starting the process and will refuse continue if the battery is low. We also fixed a few layout and other bugs.

Important Update: Because this new version is built with Swift 5, it will require the Swift 5 Runtime Support to be installed as well, when on macOS 10.14.3 and older.

But the big new feature is that you can customize the installation process of the new macOS with custom packages.

The package installers will be installed after the macOS installation is complete but before DEP runs or the first user is created. This allows for some useful customizations and shortcuts in the deployment process.

The EraseInstall application will look for package installers (pkg) files in the /Library/Application Support/EraseInstall/Packages/ folder. When the package installers are in the correct format (see below) they will be added to the startosinstall command with the --installpackage option.

For this to work, the packages have to be ‘distribution packages with an’product archives,’ i.e. distribution packages with the identifier attribute set in the product key.

Most package installers created with tools commonly used by Mac Administrators build component packages (also called ‘flat packages’). These contain the payload files that will be installed on the target system and optional installation scripts to modify the behavior.

If you usually build your packages as component packages with pkgbuild or a similar tool, you can convert them to product archives with the productbuild command:

$   productbuild --package path/to/component.pkg
--version 1.0 --identifier com.example.package productarchive.pkg 

If you use a different tool to create your packages, please consult the tool’s manual or support reference whether they create component packages, distribution packages or product archives.
munkipkg: will automatically create product archives when the distribution_style key is set to true
Whitebox Packages: identifier (id) and version can be set for a distribution package project when ‘Show Advanced User Options’ is enabled in Packages -> Preferences
Jamf Composer: cannot create distribution packages or product archives. You can convert the component packages from Composer with the above productbuild command.
pkgbuild and most other tools: creates component packages which you can convert using the above productbuild command

You can use the ‘ShowLanguageChooser’ and ‘SuppressSetupAssistant’ package installers built with these scripts as some examples to start with.

You can download the installer for EraseInstall 1.2 here.

Scripting OS X

Leave a Reply

Your email address will not be published. Required fields are marked *