create-dmg

A shell script to build fancy DMGs.

Status and contribution policy

Create-dmg is maintained thanks to the contributors who send pull requests. As of May 2020, Andrew Janke is the primary maintainer, and (since September 2018) @aonez has helped with the maintenance. The project home page is github.com/create-dmg/create-dmg.

We will merge any pull request that adds something useful and does not break existing things.

If you’re an active user and want to be a maintainer, or just want to chat, please ping us on Gitter at gitter.im/create-dmg/Lobby, or email Andrew directly.

Create-dmg was originally created by Andrey Tarantsov.

Installation

sh brew install create-dmg

sh make install

sh git clone https://github.com/create-dmg/create-dmg.git

Usage

create-dmg [options ...] <output_name.dmg> <source_folder>

All contents of source_folder will be copied into the disk image.

Options:

Example

#!/bin/sh
test -f Application-Installer.dmg && rm Application-Installer.dmg
create-dmg \
  --volname "Application Installer" \
  --volicon "application_icon.icns" \
  --background "installer_background.png" \
  --window-pos 200 120 \
  --window-size 800 400 \
  --icon-size 100 \
  --icon "Application.app" 200 190 \
  --hide-extension "Application.app" \
  --app-drop-link 600 185 \
  "Application-Installer.dmg" \
  "source_folder/"

See the examples folder in the source tree for more examples.

Requirements

Nothing except a standard installation of macOS/OS X is required.

We think this works in OS X 10.6 Snow Leopard and later.

We’d like to keep it working in as many versions as possible, but unfortunately, we just don’t have test boxes running old versions of OS X adequate to make this happen. Development and testing mostly happens in the last 3-5 years’ worth of macOS releases; as of 2020, this means macOS 10.12 and later.

But if you find a bug in an older version, go ahead and report it! We’ll try to work with you to get it fixed.

If you’re running OS X 10.5 or later, you’re SOL. That’s just too hard to deal with in 2020. ;)

Alternatives