I have a .dmg MacOS package (with 'continue' buttons, EULA etc) that i need to install on multiple computers. Is it a way to do so silently via a bash/python/ruby/etc script just like silent MSI installation in Windows? I can automate installation writing script that will click buttons for me, but that looks kinda unnatural :).
4 Answers
to instal a DMG you can do this:
cd ~/Desktop
curl -O http://darwinports.opendarwin.org/downloads/DarwinPorts-1.2-10.4.dmg
hdiutil attach DarwinPorts-1.2-10.4.dmg
cd /Volumes/DarwinPorts-1.2/
sudo installer -pkg DarwinPorts-1.2.pkg -target "/"
hdiutil detach /Volumes/DarwinPorts-1.2/
In a nutshell, this
- goes to your Desktop folder
- grabs DarwinPorts from the opendarwin site
- mounts the dmg
- goes to the newly mounted DarwinPorts volume
- installs the package, targeted to the root, as the root user
- ejects the mounted disc image.
you then can use Automator to do this...
code taken from this page

- 3
- 3

- 567
- 2
- 13
- 26
-
2ahem... could you just comment that you copypasted http://codesnippets.joyent.com/posts/show/322 ? :D – Andor May 28 '09 at 12:34
-
what's the point? – balexandre May 28 '09 at 13:12
-
7Giving credit to the original author? – ceejayoz May 28 '09 at 13:57
-
who tells me that he didn't copied from other ;) – balexandre May 28 '09 at 16:41
-
what's the point? – Andor May 29 '09 at 09:27
-
1The source link is dead so what's the point? – Mikael Dúi Bolinder Oct 23 '14 at 13:01
If you're administrating multiple Macs, I highly recommend investing in a copy of ARD - I'm sure there is a scripting answer to your question, but I've been using ARD for so long, I'm afraid I don't know it!

- 816
- 7
- 9
-
1to answer the question, and using ARD, see this link: http://www.apple.com/remotedesktop/softwaredistribution.html – balexandre May 28 '09 at 09:52
Is that a DMG plus a PKG?
Because DMG, as is, cannot be installed, it just a volume, an image, like an ISO. So probably what you have is a DMG plus a PKG or an installer inside...
If it's a PKG, probably can be installed remotely or silently, but if it's another installer, it can be more tricky, note sure right now...
Remote desktop also, as adamvs says, can deploy packages into your installs...

- 591
- 5
- 16
-
1.dmg with a .pkg inside. .pkg can be extracted before install, it's no problems. – grigoryvp May 28 '09 at 10:32
-
1
echo "mounting server"
mount_afp afp://username:password@yourserver
hdiutil attach /Volumes/yourserver/pathtodmg.dmg
/usr/sbin/installer -pkg /Volumes/pathtopkgfile.pkg -target / -verboseR
echo "umounting the repository"
umount /Volumes/yourserver
status=$?
if [ $status != 0 ]
then
echo "Something went wront unmounting the server... no problem... we'll just remove the directory"
rmdir /Volumes/yourserver
fi
I've found this to be really clean way of installing and is almost entirely silent (Except for the initial attach)