1

I am trying to create a Mac Installer to streamline the process for my end users. The idea is that they could just run one installer that would take them through the process of installing 5 different pieces of software.

Another complicating factor is that I would like to run different types of installers within this one meta-installer in a particular order 1) Install a bunch of files (including the DMG files) 2) Run one DMG file and install it 3) Run another DMG file and install it 4) Run a .sh python script that would execute through the terminal 5) Install some more files

My questions are:

  1. Is this possible?
  2. Any idea how to do this with either Iceberg or Package Maker?

Thanks in advance!

user2972067
  • 11
  • 1
  • 3

1 Answers1

0

Well, it is definitely possible.

Seems like your requirement is that you have 5 different installers and you want to install them one by one from a single main installer. In this case, lets assume you have all these installers inside a dmg file with one main installer (All those installers can be hidden so that user sees only the main installer when he mounts the dmg). Now, inside the postinstall script of this main installer (assuming you use packagemaker), you can write the logic to get the current path and start installing your sub-installers. You will have to do some error-handling as well to know if any of the installation failed.

What I provided is a high level idea of how to achieve what you want to do. I am sure there are a lot of improvements you can think of when you are writing the main postinstall file that contains all the business logic.

Command to install a packagemaker installer from the script:

installer -pkg "path_to_pkg" -target /

See man page of installer for more options.

Vikram Singh
  • 1,726
  • 1
  • 13
  • 25
  • Thanks so much Vikram - so do you mean that it is possible for PackageMaker to know when (for example) mini-installer #2 is finished and continue on to Mini-installer #3? – user2972067 Nov 10 '13 at 13:15
  • Again, considering your other installers are also packagemaker installers, you can install those packages using "installer" command from your postinstall script. This call will only return when the installation is complete. Then, your next statement in the script will be executed. – Vikram Singh Nov 10 '13 at 17:16
  • Hi Vikram - actually, the other installers are not Packagemaker installers. One of them is the Java JDK .dmg file and the other one is the Gimp .dmg file. Will your suggested script work with plain .dmg files, too? My concern is that, because .dmg files require the multi-step process of mounting and dragging into the Applications folder, I will not be able to automate it in the way I'd like through the main installer... – user2972067 Nov 12 '13 at 02:48
  • If you don't want the extra work of mounting and unmounting (yes, it is possible through the script), you can simply include the content of those dmgs in your package and call that installer directly. For example, for JDK.dmg, you can have a JDK folder in your dmg file and put all the contents of JDK.dmg (including any hidden files) inside this folder. Now, if the content is a packagemaker installer, call the "installer" command. If the content is just an app file that needs to be copied to "Applications" folder, use a copy command from your script. – Vikram Singh Nov 12 '13 at 03:37