Friday, December 13, 2013

Deploying iLife '13 and iWork '13

Just thought I would share my experiences regarding deploying the new versions of iLife and iWork that is only available through Mac App Store (MAS).

The best way to deploy iLife and iWork '13 according to me, after quite extensive testing, is to download the MAS installer packages the same way as Rich Trouton describes here: http://derflounder.wordpress.com/2013/08/22/downloading-apples-server-app-installer-package/

BUT! If you deploy these packages, GarageBand will fail to launch. It will say that the application is damaged. The solution to this is to create an empty MAS receipt file inside GarageBand.app (mkdir GarageBand.app/Contents/_MASReceipt || touch GarageBand.app/Contents/_MASReceipt/receipt).
I've just added a script in our DeployStudio workflow that creates this file, that way we keep the installer packages unmodified.

Now to the "funny" things... 
  • MAS will not fully recognize the installed applications. It sees that the applications is installed, but shows there are updates to them, even if it's the same version that is installed.
  • If you add a dummy receipt file inside the application, MAS will not show any updates for that application, even if there are updates. I tested this with iPhoto 9.5. The latest version at the time of writing is 9.5.1. What I did was to add this dummy receipt file inside iPhoto.app, launch MAS and checked for updates. No updates available. If I searched iPhoto in MAS, it said it would cost 109 kr (SEK). If I then deleted the receipt file, suddenly an update was available in MAS for iPhoto.
  • Because of the behavior I've experienced with the dummy receipt file, MAS will most likely not show any updates for GarageBand once an update is released. And without the dummy receipt, GarageBand will fail to launch.
  • If you package the applications from your own computer, they will be tied to your Apple ID and none other than you can update them on the machines you deploy them to.

So the conclusion is this:
  1. Download and install the new iLife and iWork applications the same way Rich describes in the link above.
  2. Create the dummy receipt file inside GarageBand.app. Up to this point, users can use the apps, but not update GarageBand.
  3. To update iLife and iWork apps; go to MAS and install all the available updates, even if it's the same version as the version installed.
  4. Search MAS for GarageBand (since MAS will not list any updates for GarageBand because of the empty receipt file) and install it over the old one (MAS will ask you if you want to buy it, click "Buy", it's free anyway...
  5. Now the apps works as supposed and has a real receipt file, but are tied to the Apple ID that installed the updates.
This is not an acceptable method according to me, but the only I've found out working. Luckily, in our organization, there aren't many using GarageBand...
If anyone has a better solution, please share it!