I am looking for a software to create installer packages (a Packaging Environment), being able to:

  • manage deployments of my application to multiple directories;
  • although distributed out of the Mac App Sore, able to pass the Gatekeeper requirements (per my understanding, this means being able to sign using certificates issued by Apple exclusively, so using other types of certificates is out of question);
  • script-able (for command-line builds);
  • work with Mavericks (in fact, with any 64-bit version of OS X, so 10.6 and up).

Per this answer, I am looking now at Apple's own offering, as well as Packages.

The sheer amount of information is confusing at this point, having experience with Windows / INNO Setup. Therefore, I'd be grateful for someone that has experience with these tools, given the constraints mentioned above, to help me with choosing the right tool for the job, instead of diving right in and maybe losing a lot of time before hitting dead-ends.

Although I am sure that I am missing some details at this moment, I have the following concerns:

Packages (this one gets points for seemingly being friendlier with noobs): * being able to sign only "flat packages"...do these packages support "multiple-root" installations (apps deployed in more than one folder)? * is it able to sign using the Apple-issued certificates, so as to satisfy Gatekeeper requirements?

Apple tools (pkgbuild, productbuild, and the other tools included in Xcode 5): * seems to have (had at least) bugs when writing to the current user’s home folder...which I should have also listed as a requirement above; again, I will refer to the first link in this post, these issues are described in the accepted answer..."permission issues you are not gonna be able to fix" sounds bad enough. There's another long list of bugs, linked from the response (sorry, my reputation doesn't allow me it seems to post more than two links per post). Even if this is fixed in Mavericks, as I said, I am concerned with backwards compatibility as well. * seems more verbose (accent on "seems").

If there are any other alternate recommendations that on your experience cover all the above-mentioned points, please feel free to let me know. Also, any other potential pitfalls that, given my quite abstract, long-winded story above (sorry), might be useful.

I don't know if this makes a difference, but the application is written in Java, will be compiled using Excelsior JET for OSX and now I will have to make use of an installer, as the one bundled with JET doesn't support deployment to multiple folders.

  • 1
    Really you should strive to put everything in a single folder (app bundle) since that is the norm for macOS. Even JetBrains can do it with their Java-based IDEs.
    – adib
    Nov 9, 2016 at 0:40
  • @adib Thank you, that's what I did in the end. My app bundle contains all the necessary files and, when first run, it deploys (from its Resources subfolder) whatever files have to be in a separate, modifiable folder (e.g. configurable files, temporary stuff etc.). This folder will be located at ~/Library/Application Support/<myAppsNameHere>. Nothing fancier than this was needed. Nov 9, 2016 at 21:14


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.