Skip to main content
Jamf Nation, hosted by Jamf, is the largest Apple IT management community in the world. Dialog with your fellow IT professionals, gain insight about Apple device deployments, share best practices and bounce ideas off each other. Join the conversation.

Garageband 10.0.3 Deployment Issue

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?

Like Comment
Order by:
SOLVED Posted: by cdev

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.

Like
SOLVED Posted: by davidacland

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!

Like
SOLVED Posted: by daz_wallace

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

Like
SOLVED Posted: by TomDay

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.

Like
SOLVED Posted: by TomDay

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

Like
SOLVED Posted: by 1BigGeek

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

Like
SOLVED Posted: by StoneMagnet

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.

Like
SOLVED Posted: by 1BigGeek

@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.

Like
SOLVED Posted: by Kumarasinghe
Like
SOLVED Posted: by StoneMagnet

@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.

Like
SOLVED Posted: by bpavlov

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...

Like
SOLVED Posted: by rdwhitt

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.

Like
SOLVED Posted: by bpavlov

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.

Like
SOLVED Posted: by bpavlov

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

Like
SOLVED Posted: by gshackney

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

Like
SOLVED Posted: by jacob_salmela

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.

Like
SOLVED Posted: by gshackney

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

Like
SOLVED Posted: by aporlebeke

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 :)

Like
SOLVED Posted: by aporlebeke

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.

Like
SOLVED Posted: by gshackney

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

Like
SOLVED Posted: by aporlebeke

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.

Like
SOLVED Posted: by aporlebeke

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

Like
SOLVED Posted: by gshackney

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

Gabe Shackney
Princeton Public Schools

Like
SOLVED Posted: by mtward

@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

Like
SOLVED Posted: by jacob_salmela

@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.

Like
SOLVED Posted: by mtward

@jacob_salmela Thanks! As I made my edit above I've got your script running on one Mac, almost finished. So all the pkg's will be in /tmp when finished.

I don't know if I even need to pick through them, do I? If I were to take all of the pkgs that your script downloads, throw them into composer and make one big package and deploy out to all macs with GarageBand, that seems like it would work.

You mentioned that some of these are Logic files though, but don't those cross back and forth between both Garageband and Logic?

Does your script get the files that are downloaded when going to "GarageBand > Update Sound Library..."?

Thanks!

Like
SOLVED Posted: by Nix4Life

@JDP's guide plus installPKG gets the job done. use 3 line postinstall script (w/installPKG)to install Garageband app, then the 2013 pkgs then the 2015pkgs. one neat pkg that gets it done

LSinNY

Like
SOLVED Posted: by musat

I tried running the Python script today and am getting the error:

Traceback (most recent call last):
  File "./download-gb-content.py", line 230, in <module>
    sys.exit(main())
  File "./download-gb-content.py", line 206, in main
    gb_plist = download_gb_plist()
  File "./download-gb-content.py", line 82, in download_gb_plist
    raise ProcessorError("Can't download %s: %s" % (base_url, e))
NameError: global name 'ProcessorError' is not defined

I had already downloaded the files using a different method (utilizing proxy server logs), but I wanted to make sure that I had everything. Everything is working so I think I do, but it would be nice to have a script to double check later on.

Like
SOLVED Posted: by jacob_salmela

@musat you can try my bash script that downloads all the Garageband content. I have had good luck with it.

Like
SOLVED Posted: by aporlebeke

Because of Apple's certs expiring (Rich's post) - I've been redownloading all of the packages we grabbed from the Mac App Store. As a result I've revisited the Garageband packaging process. As far as I can tell, below is now the current list of loop packages:

# Core Content
MAContent10_GarageBandCoreContent2.pkg

# Additional Content
MAContent10_GarageBandPremiumContent.pkg
MAContent10_GB_StereoDrumKitsAlternative.pkg
MAContent10_GB_StereoDrumKitsRnB.pkg
MAContent10_GB_StereoDrumKitsRock.pkg
MAContent10_GB_StereoDrumKitsSongWriter.pkg

Seems that the long laundry list of core content PKGs have been bundled into a new, single PKG?

EDIT: I was mistaken. Looks like some packages had been installed on the machine I was using previously, thus my much shorter list of PKGs. Or perhaps a bit of wishful thinking ...

Like
SOLVED Posted: by donmontalvo

@jacob_salmela your script was extremely useful, thanks!

Like
SOLVED Posted: by jacob_salmela

@donmontalvo No problem! I was just about to respond to this to let you know I found all the URLs. for the new 2016 content.

Like
SOLVED Posted: by aporlebeke

@jacob_salmela I just used your AWESOME script to download all the Garageband content, however I found one small typo which would only affect folks who uncommented out the installer -pkg portion of the 2016 content section:

echo "** Downloading 2016 content..."
for ((i = 0; i < "${#content2016[@]}"; i++))
do
    echo "Downloading ${content2016[$i]}..."
    curl -o "$downloadFolder"/"${content2016[$i]}" http://audiocontentdownload.apple.com/lp10_ms3_content_2016/"${content2016[$i]}"
    TYPO IN THIS LINE ---> #installer -pkg "$downloadFolder"/"${content2013[$i]}" -target /  <--- TYPO IN THIS LINE
done

It looks like it should be installer -pkg "$downloadFolder"/"${content2016[$i]}" -target / instead of content2013.

Like
SOLVED Posted: by jacob_salmela

@aporlebeke no problem! I'm glad it was useful. (I fixed the typo--thanks for catching it).

Like
SOLVED Posted: by aporlebeke

@jacob_salmela :)

One other small thing - I know you specify /tmp as the download directory for the PKG downloads, but when I changed to a different directory I got an error in the part of the script when trying to extract the .tar file because of the explicit use of the /tmp for extraction.

Original here:

echo "** Downloading legacy content..."
for ((i = 0; i < "${#legacyContent[@]}"; i++))
do
    filename=$(echo "${legacyContent[$i]}" | awk -F'/' '{print $NF}')
    if [[ "$filename" = "GarageBandExtraContent.tar" ]];then
        echo "Downloading $filename..."
        curl -o "$downloadFolder"/"$filename" "${legacyContent[$i]}"
        # Unarchive to get the .pkg
        tar -xf "$downloadFolder"/"$filename" -C /tmp
        filenamePkg=$(echo "$filename" | cut -d'.' -f-1)
        tar -xf "$downloadFolder"/"$filenamePkg".pkg.tar -C /tmp
        #installer -pkg "$downloadFolder"/"$filenamePkg".pkg -target /
    else
        echo "Downloading $filename..."
        curl -o "$downloadFolder"/"$filename" "${legacyContent[$i]}"
        #installer -pkg "$downloadFolder"/"${legacyContent[$i]}" -target /
    fi
done

Updated for the specified download directory here. I also added the removal of the original .tar and extracted .pkg.tar file so as to only leave you with the final desired PKG.

echo "** Downloading legacy content..."
for ((i = 0; i < "${#legacyContent[@]}"; i++))
do
    if [[ "$filename" = "GarageBandExtraContent.tar" ]];then
        echo "Downloading $filename..."
        curl -o "$downloadFolder"/"$filename" "${legacyContent[$i]}"
        # Unarchive to get the .pkg
        tar -xf "$downloadFolder"/"$filename" -C "$downloadFolder"
        filenamePkg=$(echo "$filename" | cut -d'.' -f-1)
        tar -xf "$downloadFolder"/"$filenamePkg".pkg.tar -C "$downloadFolder"
        # rm -rf "$downloadFolder"/"$filenamePkg".pkg.tar
        # rm -rf "$downloadFolder"/"$filenamePkg".tar
        # installer -pkg "$downloadFolder"/"$filenamePkg".pkg -target /
    else
        echo "Downloading $filename..."
        curl -o "$downloadFolder"/"$filename" "${legacyContent[$i]}"
        #installer -pkg "$downloadFolder"/"${legacyContent[$i]}" -target /
    fi
done

I would make all these recommendations via pull requests, but I haven't really learned the git commands and processes outside of a basic tutorial video some months ago. On my to-do list :)

Thanks again

Like
SOLVED Posted: by jacob_salmela

@aporlebeke fixed! Thanks. I have been using git for a long time and I still don't get it!

Like
SOLVED Posted: by JesseNCSD

@jacob_salmela @donmontalvo Et al.

I used to be able to get a core install of GB 10.1 to ~20 packages and a fair amount of content with no nagging prompts, like @bpavlov's post mentioned above.

Jacob's script has a metric ton of content comparatively speaking! Is there an optimized subset of this stuff? Do they have to install in a certain order?

For you folks installing the GB content with 10.x - are you wrapping this huge list of stuff in a container and installing it all or what? Letting GB install an index all the content and then building a compiled package? (A la this post)

I prefer the packages to building a monolithic package, but Jacob's list is a little larger than I expected.

Like
SOLVED Posted: by jacob_salmela

@JesseNCSD It does download a ton of stuff! I also just updated the script and added the Chinese loops from GarageBand 10.1.2.

It's been a while since I have installed it, but I do recall there being a certain order of them but I don't know the validity of that claim.

Like
SOLVED Posted: by jacob_salmela

Oh and if you don't want all of the content, you could probably skip the Instrument lessons and the Logic content. That would reduce the overall size of everything.

Like
SOLVED Posted: by etippett

Does anyone have a definitive list of the only packages required in order to prevent the download and install on first launch of GarageBand 10.1.2? I am pushing GB out to non-admin users, so I need to make sure they aren't prompted at launch, since it requires admin credentials. I'd rather not push out GBs and GBs of additional content, though, only what's absolutely necessary.

Thanks,
Eric

Like
SOLVED Posted: by jmahlman

@etippett Eric, I gave up on using any scripts to do this and went with composer. How I push out all of my content (this would work with the basic content too) is install GarageBand then let it load and download what you need. Open Composer and drag in the following folders if they're there:

/Library/Application Support/GarageBand
/Library/Application Support/Logic
/Library/Audio/Apple Loops
/Library/Audio/Apple Loops Index
/Library/Audio/Impulse Responses

My Content PKG

Not 100% sure if you need to bring in the index files also, but it only takes a few extra minutes to do it (you'll have to take a new and modified snapshot for that). This is what my Composer looks like when I grab the index. Index DMG with FUT and FEU

I do this with Logic and GB and have no issues with users being asked for passwords or to download anything. I outline my process here

Like
SOLVED Posted: by etippett

Thanks, @jmahlman . I did end up figuring this out late yesterday. Here's another post where I detail the solution. I try to avoid Composer when possible, but it may be easier in this case!

Also, I checked out your script repository on GitHub; the Adobe RUM update one may prove very handy for me, so thanks for sharing!

Eric

Like
SOLVED Posted: by jacob_salmela

@etippett here is the list of loops from 10.1.2 that I found:

https://github.com/jacobsalmela/adminscripts/commit/9d81d8276175e0a280e0e6c68122f20c909f91dc

Like
SOLVED Posted: by etippett

@jacob_salmela : How are you determining what loops to download in your script? Like I mention in the post linked above, a fresh install of 10.1.2 from MAS is not downloading at first boot the packages you've listed.

Like
SOLVED Posted: by CasperSally

This is the script I ran about a month ago that had everything. This was before the Chinese stuff was released later.

https://github.com/cwindus/garageband

Like
SOLVED Posted: by etippett

@CasperSally Thanks. I've seen that too, but again, I'm not trying to download everything, only what is installed on first launch.

Like
SOLVED Posted: by CasperSally

@etippett try running with the ./get_audio_content.py -y 2013 argument to get the basics. You might get some extra files, but you can ignore them pretty easily based on name.

Like
SOLVED Posted: by jacob_salmela

@etippett I open GarageBand, download the new songs and when I see the prompt for the password to install, I look in /var/folders/ to find all the package names.

Like
SOLVED Posted: by jmahlman

@etippett Glad I can help.

That RUM updater is very basic so if you are better at scripting than me, feel free to share any additions ;)

Like
SOLVED Posted: by JesseNCSD

To chime in with what i've been using, I've simply been augmenting packages from my 9.x and 10.x installs. As of 10.1.1, this is:

(Core content rollups, install order is important.)
1. MAContent10_GarageBandCoreContent_v3.pkg
2. MAContent10_GarageBandCoreContent2.pkg
3. MAContent10_GarageBandPremiumContent.pkg
4. MAContent10_GB_StereoDrumKitsAlternative.pkg
5. MAContent10_GB_StereoDrumKitsRock.pkg
6. MAContent10_GB_StereoDrumKitsRnB.pkg
7. MAContent10_GB_StereoDrumKitsSongWriter.pkg
8. MGBContentCompatibility.pkg

Then some packages that 10.1.1 started requesting:
- MAContent10_AssetPack_0048_AlchemyPadsDigitalHolyGhost.pkg
- MAContent10_AssetPack_0315_AppleLoopsElectroHouse1.pkg
- MAContent10_AssetPack_0324_AppleLoopsBluesGarage.pkg
- MAContent10_AssetPack_0325_AppleLoopsGarageBand1.pkg
- MAContent10_AssetPack_0354_EXS_PianoSteinway.pkg
- MAContent10_AssetPack_0371_EXS_GuitarsAcoustic.pkg
- MAContent10_AssetPack_0375_EXS_GuitarsVintageStrat.pkg
- MAContent10_AssetPack_0376_EXS_GuitarsWarmElectric.pkg
- MAContent10_AssetPack_0483_EXS_OrchWoodwindBasson.pkg
- MAContent10_AssetPack_0484_EXS_OrchWoodwindClarinetSolo.pkg
- MAContent10_AssetPack_0487_EXS_OrchWoodwindFluteSolo.pkg
- MAContent10_AssetPack_0489_EXS_OrchWoodwindOboeSolo.pkg
- MAContent10_AssetPack_0491_EXS_OrchBrass.pkg
- MAContent10_AssetPack_0501_EXS_OrchOrgan.pkg
- MAContent10_AssetPack_0503_EXS_ChoirChamberClassical.pkg
- MAContent10_AssetPack_0538_DrummerSticks.pkg
- MAContent10_AssetPack_0548_EXS_iOSInstruments.pkg
- MAContent10_AssetPack_0554_AppleLoopsDiscoFunk2.pkg
- MAContent10_AssetPack_0593_DrummerSoCalGBLogic.pkg
- MAContent10_AssetPack_0599_GBLogicAlchemyEssentials.pkg

I had not been installing the larger amount that jacob_salmela's script pulls (although it's a great resource to get lots of content).

I had not yet looked at what 10.1.2 adds to the above. I'll be curious to see how much of the stuff matches up with etippett's list.

Like
SOLVED Posted: by carl

Hey guys, in my testing route, I've noticed that for a fresh installation of GarageBand 10.1.2, it only needs the loops from 2016 to run without nagging users to download content. Additionally, it doesn't matter what order these loops are installed in, as long as they're installed.

It seems that there are a number of loops in the 2016 content that either updates, or replaces loops from the older 2013, and 2015 packages. I've not done any specific testing to see if this is the case, but given that all of the 2013-2016 GarageBand packs come in at ~19GB, and I've built a package with all this content that comes to 13GB in size, it seems this is the case. Take this with a pinch of salt.

It also appears that you can't wrap these packages into another package, with a simple postflight/postinstall script that runs a for loop over them to install them. I keep seeing a PackageKit error when I try this.

Jun  2 10:19:45 mithrandir installer[866]: PackageKit: Install Failed: (null) (null)

I've resorted to a pre/post content snapshot, and creating a package that drops the loops into the right folders, and applies the correct permissions. I've used logGen and pkgGen to do that.

Once the package is built and installed on a test machine, GarageBand works perfectly fine - it sees the audio content in the correct folder locations and automatically indexes the loops on first launch. This index process happens per user, and will happen anytime GarageBand see's new loop content.

Like
SOLVED Posted: by CasperSally

@carl "It also appears that you can't wrap these packages into another package, with a simple postflight/postinstall script that runs a for loop over them to install them. I keep seeing a PackageKit error when I try this."

I ran into something similar and someone smarter than me in slack pointed out because of SIP on 10.11, you can't combine apple pkgs into a single pkg

Like
SOLVED Posted: by carl

@CasperSally That's an incredibly frustrating turn of events. Can be worked around, but often it's far easier to bundle these into one big bundle :| Guess I'll have to pass some feedback on to our Apple rep, etc.

Like
SOLVED Posted: by etippett

I can confirm what @carl has said: only the 2016 loops seem to be necessary in order to prevent users from being prompted to download content on first launch of GB 10.1.2

Eric

Like