Need help with Payload-Free-Package-Creator?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

158 Stars 13 Forks MIT License 27 Commits 0 Opened issues

Services available


Need anything else?

Contributors list

# 59,673
26 commits


OS Compatibility:

The current release of Payload-Free Package has been tested and verified to run on the following versions of macOS:





Not tested:

10.11.6.x or earlier


Using Payload-Free Package

  1. As needed, download the file from the application directory in this GitHub repo.

  2. Once downloaded and unzipped, double-click on the Payload-Free Package Creator application.

  3. You'll be prompted to select the script that you want to create a payload-free package from.

  4. Once you've selected the script, you'll be prompted to name the payload-free package. By default, the name filled in will be Payload-Free Installer Package, but this name can be changed as desired.

  5. Once you've entered a name for the installer package, you'll be prompted for a package identifier. By default, the name filled in will be com.github.payload_free, but this name should be changed to be something unique.

  6. Once you’ve entered an identifier for the installer package, you’ll be prompted for a version number. By default, the value filled in will be 1.0, but this value should be changed to be something unique.

  7. Once the package name, package identifier and package version number have been set, Payload-Free Package will prompt for an administrator's username and password.

  8. Once the admin username and password are provided, Payload-Free Package will create the payload-free package and prompt you when it's finished.

  9. Click OK at the prompt and a new Finder window will open and display the newly-created payload-free package.

  10. Payload-Free Package will automatically exit.

How Payload-Free Package works

Payload-Free Package is an Automator application that uses AppleScript, shell scripting and pkgbuild behind the scenes to create payload-free packages. When a script is selected, the following process takes place:

  1. The script is copied to /tmp and renamed to postinstall, to match the name that pkgbuild is expecting for a post-installation script.

  2. After the package name and package identifier are chosen, /tmp is checked to make sure that there is not an existing directory that is named the same as the chosen name. If a matching directory is found, it is removed.

  3. A new directory is created in /tmp that matches the chosen name of the package.

  4. Next, a scripts directory and an empty directory named nopayload are created inside of /tmp/packagenamehere. The nopayload directory provides the empty directory for pkgbuild's --root option

  5. The postinstall script is moved to /tmp/packagenamehere/scripts

  6. The payload-free package is built by pkgbuild using the postinstall script stored in /tmp/packagenamehere/scripts

  7. The finished payload-free package is stored in /tmp/packagenamehere and the user is prompted that the process is finished.

  8. Once the user is notified and clicks OK, a new Finder window opens for /tmp/packagenamehere

Blog posts:

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.