How can I create a single installer package for an OS X binary as well as a few configuration and script files?
Final folders should look like this:
Any help would be appreciated. Thanks.
How can I create a single installer package for an OS X binary as well as a few configuration and script files?
Final folders should look like this:
Any help would be appreciated. Thanks.
There's also macOS Installer Builder
, which is a CLI you can use to create an installer wizard for your .pkg
: https://github.com/KosalaHerath/macos-installer-builder
Installers are great if you want various things to be placed in different spots – app here, documentation there, support files over here, etc. They're also great for providing configurability of the installation experience (optional extras), or hand-holding for an unusual type of installation that the user might not otherwise understand, or extra work (configuration scripts, permissions modifications, authentication, compatibility checking, etc.) that need to run during the installation process. There is nothing wrong with installers, contrary to the answer from @d00dle, although there is also nothing wrong with distributing your app through the App Store, or as a dmg.
For setting up your own installers, I highly recommend a program called Packages (http://s.sudre.free.fr/Software/Packages/about.html). I am in no way connected to it, but I use it to build the installer for an app that I work on. It greatly smoothes the process of making a complex installer, and has an excellent GUI interface.
macOS does not normally use installers. Applications are packaged in app containers with the extension
.app
. This container is "executable" but you're also able to dig in and see what is inside. This is also the format distributed through App Store.You can create
.pkg
or.dmg
"installers" if necessary, however this is clearly not something apple aims to be standard. I would advise to use the .app pattern and any scripts needed should be self contained and executed on first run.You can use
.dmg
to distribute your application outside of App Store (this is still fairly normal).macOS also includes a terminal program called
productbuild
that builds a product archive for the macOS Installer or the Mac App Store. Enterman productbuild
into the Terminal on a Mac for the manual page.