Skip to main content

I have a pkg file for garageband 10.0.3 using Rich's method, works perfectly if I run the pkg right on my laptop. However, that same file that is uploaded to the JSS will not work properly. I try via Casper remote and Casper imaging, log files say it installs properly but no installation to be found anywhere on the laptop. 10.0.2 pkg I have installs as designed in all scenarios. I've tried 3 clean downloads from the App store with the method mentioned above. Any thoughts?

I've had the same issue with GBand... Wound up using Composer to snapshot the installation to get things to work correctly. The biggest upside is that I could then download all of the extra instruments and loops (which are a separate download once you install the app) and include those in the composer-created image.


We use the same app store capture method. I grabbed a 10.0.3 pkg last week on a new project and deployed it using Casper Imaging. All worked ok. Didn't try deploying any other way though.

Not much help but just thought I'd mention it so you know it has worked!


Hi @TomDay

We use another method to package and deploy Apple iWork and iLife apps (including GarageBand).

We simply package the .app bundle using composer and deploy this and the loops to the end user devices.

All works find, but for updates you'll either need to give the end users' the Apple ID details you used (we don't do this nor recommend it) or you package the update and redeploy.

Keeping the app and extras (such as the loops) is better for us as it allows us to redeploy one or the other as required.

Hope that helps!

Darren


Interesting @cdev, I've seen a number for posts that talk about issues with Computer and iLife/iWork. Glad to hear it worked for you, I'll give it a shot. Thank you.


Working on this now, follow up question on the MASReceipt file. If I delete that out of the contents and then recreate with a dummy file, I shouldn't be promoted on machines that have this deployed with the ID originally used, correct?

if [ -d /Applications/GarageBand.app ];then mkdir -m 755 /Applications/GarageBand.app/Contents/_MASReceipt touch /Applications/GarageBand.app/Contents/_MASReceipt/receipt


I just went through the garage band thing last week. We wanted a "complete" install for our labs. In this poor guide the first batch of downloaded packages makes the first prompt to download disappear. The second batch of downloaded packages gets you the entire setup. The packages change every so often as well.

My guide

Maybe this is helpful. YMMV


JD,

Thanks, your guide was very helpful.

I don't know if it's due to Dropbox processing your guide PDF, but the postinstall script requires major edits to use due to substitution of what looks like a dash but isn't as the leading character for the command flags. I didn't realize this when editing in BBEdit, but when you paste the script into Composer it deletes them (but doesn't bother to warn you), so it took me a while to figure out why the script looked fine in BBEdit but didn't work.

Unfortunately even after fixing that, and successfully deploying the full GarageBand content package, I'm seeing GarageBand trying to do the initial instrument download when first run on a newly imaged machine.


@StoneMagnet Im sorry about the script being all mangled. I'll look for a better way to share that.
I wonder if something has changed since I did my initial work. Everything has to be exact for it to believe it has all the content, which keeps it from prompting. I'm under deadline on another project but I'll come back to this when I'm done and go through it again.


This .py script might come in handy for you.
https://github.com/erikng/adminscripts/blob/master/download-gb-content.py


@Kumarasinghe That Python script is definitely handy. At first I thought it was only a subset of the package files captured by watching the MAS deployment, but it appears several of those files (MAContent10_PremiumPreLoops*.pkg) are simply placeholders for content that actually exists in MAContent10_GarageBandPremiumContent.pkg

@JDP GitHub might be your best bet for posting instructions and an un-mangled script. I wouldn't want you to waste time looking at my mystery initial instrument download until I can determine if it was just a one time error, or if I didn't re-package the installers properly, but you might want to remove the superfluous placeholder content packages mentioned above. I'm in the same boat with priorities and the GarageBand content is down the list a ways. I'll post an update if I find a reproducible cause and/or fix once I get back to this topic.


I couldn't get that Python script to run. However, the guide by @JDP seems to be pretty simple and straight forward to follow. It's a shame that Apple doesn't just add these components to the app itself whenever there is an update. It would really make this entire process easier from a deployment perspective. Even as an end-user, who really wants to download an app only to find out there are more updates you need to download after the initial download? Even if it means the app would be bigger than 1GB I would prefer to download 3-5GB at once then having to download them in separate installments as I'm clicking around the app. Oh well, I digress...


The python script seems to list out everything you need.

$ ./garagebandContent.py list
http://audiocontentdownload.apple.com/lp10_ms3_content_2015/MAContent10_GarageBandCoreContent_v3.pkg
http://audiocontentdownload.apple.com/lp10_ms3_content_2015/MAContent10_GarageBandCoreContent2.pkg
http://audiocontentdownload.apple.com/lp10_ms3_content_2013/MAContent10_GarageBandPremiumContent.pkg
http://audiocontentdownload.apple.com/lp10_ms3_content_2013/MAContent10_GB_StereoDrumKitsSongWriter.pkg
http://audiocontentdownload.apple.com/lp10_ms3_content_2013/MAContent10_GB_StereoDrumKitsAlternative.pkg
http://audiocontentdownload.apple.com/lp10_ms3_content_2013/MAContent10_GB_StereoDrumKitsRock.pkg
http://audiocontentdownload.apple.com/lp10_ms3_content_2013/MAContent10_GB_StereoDrumKitsRnB.pkg
http://audiocontentdownload.apple.com/lp10_ms3_content_2013/MGBContentCompatibility.pkg

I downloaded and installed each of those packages and everything in GarageBand seemed to be enabled.


Those aren't all the packages though:

lp10_ms3_content_2015
MAContent10_GarageBandCoreContent2.pkg
MAContent10_GarageBandCoreContent_v3.pkg
MAContent10_PremiumPreLoopsChillwave.pkg
MAContent10_PremiumPreLoopsDeepHouse.pkg
MAContent10_PremiumPreLoopsDubstep.pkg
MAContent10_PremiumPreLoopsElectroHouse.pkg
MAContent10_PremiumPreLoopsGarageBand.pkg
MAContent10_PremiumPreLoopsHipHop.pkg
MAContent10_PremiumPreLoopsJamPack1.pkg
MAContent10_PremiumPreLoopsModernRnB.pkg
MAContent10_PremiumPreLoopsRemixTools.pkg
MAContent10_PremiumPreLoopsRhythmSection.pkg
MAContent10_PremiumPreLoopsSymphony.pkg
MAContent10_PremiumPreLoopsTechHouse.pkg
MAContent10_PremiumPreLoopsWorld.pkg

lp10_ms3_content_2013
MAContent10_GB_StereoDrumKitsAlternative.pkg
MAContent10_GB_StereoDrumKitsRnB.pkg
MAContent10_GB_StereoDrumKitsRock.pkg
MAContent10_GB_StereoDrumKitsSongWriter.pkg
MAContent10_GarageBandPremiumContent.pkg

I tried running the python script but kept getting an error. Fully patched 10.10.4 machine running GarageBand 10.1.0.


Just in case anyone is wondering, the packages do need to be installed in a specific order (basically by the date last modified of each package) which as of today looks like this. If you don't do it this way then some of the loops will not install and will need to be re-installed.

lp10_ms3_content_2015
MAContent10_GarageBandCoreContent_v3.pkg
MAContent10_PremiumPreLoopsChillwave.pkg
MAContent10_PremiumPreLoopsDeepHouse.pkg
MAContent10_PremiumPreLoopsDubstep.pkg
MAContent10_PremiumPreLoopsElectroHouse.pkg
MAContent10_PremiumPreLoopsGarageBand.pkg
MAContent10_PremiumPreLoopsHipHop.pkg
MAContent10_PremiumPreLoopsJamPack1.pkg
MAContent10_PremiumPreLoopsModernRnB.pkg
MAContent10_PremiumPreLoopsRemixTools.pkg
MAContent10_PremiumPreLoopsRhythmSection.pkg
MAContent10_PremiumPreLoopsSymphony.pkg
MAContent10_PremiumPreLoopsTechHouse.pkg
MAContent10_PremiumPreLoopsWorld.pkg
MAContent10_GarageBandCoreContent2.pkg

lp10_ms3_content_2013
MAContent10_GarageBandPremiumContent.pkg
MAContent10_GB_StereoDrumKitsAlternative.pkg
MAContent10_GB_StereoDrumKitsRock.pkg
MAContent10_GB_StereoDrumKitsRnB.pkg
MAContent10_GB_StereoDrumKitsSongWriter.pkg


I re-typed up the script from @JDP and put the packages in order based on the post from @bpavlov .
I have not tested this yet, but am about to and will update the post.

#!/bin/sh
freeSpace=`df -k /tmp | tail -1 | awk '{print $4} '`

if (("$freeSpace" > "16000000"))
then
sleep 5
/usr/sbin/installer -pkg /private/tmp/MAContent10_GarageBandCoreContent_v3.pkg -target /
/usr/sbin/installer -pkg /private/tmp/MAContent10_PremiumPreLoopsChillwave.pkg -target /
/usr/sbin/installer -pkg /private/tmp/MAContent10_PremiumPreLoopsDeepHouse.pkg -target /
/usr/sbin/installer -pkg /private/tmp/MAContent10_PremiumPreLoopsDubstep.pkg -target /
/usr/sbin/installer -pkg /private/tmp/MAContent10_PremiumPreLoopsElectroHouse.pkg -target /
/usr/sbin/installer -pkg /private/tmp/MAContent10_PremiumPreLoopsGarageBand.pkg -target /
/usr/sbin/installer -pkg /private/tmp/MAContent10_PremiumPreLoopsHipHop.pkg -target /
/usr/sbin/installer -pkg /private/tmp/MAContent10_PremiumPreLoopsJamPack1.pkg -target /
/usr/sbin/installer -pkg /private/tmp/MAContent10_PremiumPreLoopsModernRnB.pkg -target /
/usr/sbin/installer -pkg /private/tmp/MAContent10_PremiumPreLoopsRemixTools.pkg -target /
/usr/sbin/installer -pkg /private/tmp/MAContent10_PremiumPreLoopsRhythmSection.pkg -target /
/usr/sbin/installer -pkg /private/tmp/MAContent10_PremiumPreLoopsSymphony.pkg -target /
/usr/sbin/installer -pkg /private/tmp/MAContent10_PremiumPreLoopsTechHouse.pkg -target /
/usr/sbin/installer -pkg /private/tmp/MAContent10_PremiumPreLoopsWorld.pkg -target /
/usr/sbin/installer -pkg /private/tmp/MAContent10_GarageBandCoreContent2.pkg -target /
sleep 5
/usr/sbin/installer -pkg /private/tmp/MAContent10_GarageBandPremiumContent.pkg -target /
/usr/sbin/installer -pkg /private/tmp/MAContent10_GB_StereoDrumKitsAlternative.pkg -target /
/usr/sbin/installer -pkg /private/tmp/MAContent10_GB_StereoDrumKitsRock.pkg -target /
/usr/sbin/installer -pkg /private/tmp/MAContent10_GB_StereoDrumKitsRnB.pkg -target /
/usr/sbin/installer -pkg /private/tmp/MAContent10_GB_StereoDrumKitsSongWriter.pkg -target /
else
echo "You must have more than 15.25GB free to install GarageBand additional content.  Aborting install and cleaning up packages"
exit 1      ## Failure
fi
sleep 5
rm -rf /private/tmp/MAContent10_GarageBandCoreContent_v3.pkg
rm -rf /private/tmp/MAContent10_PremiumPreLoopsChillwave.pkg
rm -rf /private/tmp/MAContent10_PremiumPreLoopsDeepHouse.pkg
rm -rf /private/tmp/MAContent10_PremiumPreLoopsDubstep.pkg
rm -rf /private/tmp/MAContent10_PremiumPreLoopsElectroHouse.pkg
rm -rf /private/tmp/MAContent10_PremiumPreLoopsGarageBand.pkg
rm -rf /private/tmp/MAContent10_PremiumPreLoopsHipHop.pkg
rm -rf /private/tmp/MAContent10_PremiumPreLoopsJamPack1.pkg
rm -rf /private/tmp/MAContent10_PremiumPreLoopsModernRnB.pkg
rm -rf /private/tmp/MAContent10_PremiumPreLoopsRemixTools.pkg
rm -rf /private/tmp/MAContent10_PremiumPreLoopsRhythmSection.pkg
rm -rf /private/tmp/MAContent10_PremiumPreLoopsSymphony.pkg
rm -rf /private/tmp/MAContent10_PremiumPreLoopsTechHouse.pkg
rm -rf /private/tmp/MAContent10_PremiumPreLoopsWorld.pkg
rm -rf /private/tmp/MAContent10_GarageBandCoreContent2.pkg
rm -rf /private/tmp/MAContent10_GarageBandPremiumContent.pkg
rm -rf /private/tmp/MAContent10_GB_StereoDrumKitsAlternative.pkg
rm -rf /private/tmp/MAContent10_GB_StereoDrumKitsRock.pkg
rm -rf /private/tmp/MAContent10_GB_StereoDrumKitsRnB.pkg
rm -rf /private/tmp/MAContent10_GB_StereoDrumKitsSongWriter.pkg

exit 0      ## Success

This works flawlessly when run as Install at Reboot!
Gabe Shackney
Princeton Public Schools


I have been working on something similar that will download all the .pkgs for all the content for both Logic and GarageBand. Initial tests look promising.


I tested pasting this script into the postinstall section after making the pkg of all the individual pkg's per @JDP s instructions. All works fine when running this with Casper. Thanks!

Gabe Shackney
Princeton Public Schools


Thanks to all the contributors to this thread. I didn't realize right up before I started imaging our laptop carts that my Garageband install .dmg was not including all the loops I thought I grabbed via snapshot.

Thanks for the BIG save :)


So I did a test of this and it's not recognizing either the essential or additional 'premium' loops. I have just the Garageband .pkg that I grabbed from the App Store download / Debug menu and the essential & premium loops .pkg w/ postinstall script as outlined in previous posts.

I install both during Imaging but when Garageband opens it doesn't recognize either. Should both these be installed after imaging? Garageband during imaging and the essential and additional loops immediately after imaging? Via policy at login?

Thanks in advance.


The script must be bundled with the pkg installer created from all the individual GarageBand downloads. Then I have it install at boot after imaging checked in Casper admin.

Gabe Shackney
Princeton Publuc Schools


Thanks, @gshackney. I have the script already bundled with the pkg installer for the loops, but did not have them install at boot after imaging. Will give that a shot and report.


Woot! Worked like a charm. Was worried at the end because of how long the post image installation took, but I guess there's a lot of GBs. Still ...

So you have to install all the loops post image for it to work. Good to know. Thanks again, @gshackney


Yea takes awhile, but worth it if it works properly.

Gabe Shackney
Princeton Public Schools


@gshackney @aporlebeke @jacob_salmela @JDP

EDIT: retracted because I didn't read correctly at first! It seems like a combination of @JDP's PDF of the process and @gshackney's script, it gets the job done. Thanks


@mtward I just used this script the other day to deploy to an existing Mac with GarageBand/Logic. I used the script to download and the .pkgs and then made them available the the JSS for deployment. You can pick and choose which loops/sounds/lessons to install by commenting out ones you do not need.