MacOS – OS X installer guidelines

developmentinstallmacosvirtualboxvirtualization

At first, please forgive discussed rather question type.

I need to build opensource software installer for OS X but I am not familiar with OS X conventions.
Mentioned opensource software is complex and has to be distributed in virtualized environment form.
So, to run it you have to use Vagrant and VirtualBox.
The whole of it needs to be done in a manner that is most familiar to OS X users, using the tools they're most accustomed to.
Then my question is, how should look like such installer?
Just for example, should I build dmg disk image with bundled Vagrant and VB installers or pkg installer which gives option to download and install Vagrant and VB as components or maybe use preinstall script to perform silent components installation?
Main goal is to use legit way if possible and give users the easiest method to install software.
Maybe you could point me to existing installers which perform more complex task, not just copy files.

[Edit]
I do not ask for help in coding or in resolving any technical problem in fact but rather want to know what is the most familiar manner for OS X users to install software.
In MS Windows for example, there's no problem when one installer downloads and runs another installer during its session.
As I said, Vagrant and VB are indispensable components so what would be the 'correct' way to provide it to you, OS X users next to main software?

Best Answer

"so what would be the 'correct' way to provide it to you, OS X users next to main software?"

Either. If the installer is relatively large in size, I've found that it's contained in a dmg versus a pkg, however. Why?

A .dmg package is seen as a single file rather than a folder of files like a .pkg package....The advantage a .dmg package has is that larger files may copy much more quickly to your distribution points than .pkg packages.

In my opinion (again, from the perspective of the OS X user), dmgs are intuitively easier to use: mount > drag > drop.