Deploying new iLife and iWork apps

cbrewer
Valued Contributor II

Wondering if anyone has spent time yet looking at how to deploy the new versions of iPhoto, iMovie, Garageband, Keynote, Pages and Numbers.

Using the known method of pausing the App Store download and creating a hard link, I was able to capture pkg installers for iPhoto, iMovie and Garageband. Unfortunately, only iPhoto and iMovie seem to work. Garageband claims it is broken when you try and launch it.

46 REPLIES 46

bentoms
Release Candidate Programs Tester

I've reached out to my apple account manager.

Awaiting a call next week, I'll update here & will watch this thread with interest.

mm2270
Legendary Contributor III

The new iLife and iWork Mac apps availability is still kind of unclear to me, but from what I've been reading, this is much like with the iOS version of these apps that were released with new iOS devices, that are only free and available to newly purchased Macs. At least that's what I seem to be reading online.

Given this, are we even able to deploy these new apps to any existing Macs, assuming we can find a way to deploy them not tied to any iCloud account? Or would that be in violation of the EULA? I'm kind of thinking this isn't going to be kosher. But I'll admit that its still a bit confusing.

bentoms
Release Candidate Programs Tester

The AppleID q's are what I'm wanting clarification on from our Apple reps.

Essentially if apple are giving the apps away & are happy for us to help that, by installing the apps that then require assigning to an AppleID.. We might be able to do that.

But our users will be using their own AppleID's... So we'll be gifting them.

cbrewer
Valued Contributor II

FWIW - When you install the apps via the package installer like I mentioned above, the App Store ends up thinking you need to download the apps again. It tells you there are updates available even though they are the same versions you already have installed. Not ideal.

bentoms
Release Candidate Programs Tester

What if you deploy the .app files created after installing the pkg's?

I'm thinking they would be non-AppleID tied.

mm2270
Legendary Contributor III

@cbrewer - interesting. So somehow decoupling them from the iTunes account causes them to not be recognized as actually installed. Hmm...
If only the Mac App Store had the equivalent of the "ignore" flag like with SUS updates, but I don't think it does. Does it?

bentoms
Release Candidate Programs Tester

@mm2270 that's why I'm thinking that if we deploy them un-registered then the 1st person to update them registers them against their ID.

Thus affectively gifting it to the end users, but if Apple are ok with it... Then the only issue we'll have is what happens when person number 2 takes ownership?

bentoms
Release Candidate Programs Tester

Actually, maybe deploying to ~/Applications/ will resolve that.

Also, I wonder if we can do something clever with Caching server + self service.

(User requires app, downloads from caching server locally & then registers against own Apple ID).

bentoms
Release Candidate Programs Tester

Chris
Valued Contributor
FWIW - When you install the apps via the package installer like I mentioned above, the App Store ends up thinking you need to download the apps again. It tells you there are updates available even though they are the same versions you already have installed. Not ideal.

It seems like creating a dummy MASReceipt file will make the Apps disappear from the AppStore Update section.
Just tried it in a VM, i ran

mkdir -m 755 /Applications/iPhoto.app/Contents/_MASReceipt
touch /Applications/iPhoto.app/Contents/_MASReceipt/receipt

and iPhoto disappeared from the Updates section after logging out and back in.
Works with other iLife/iWork apps too...

blackholemac
Valued Contributor III

I want to throw out Rich Trouton's post on his blog as a solution here:

http://derflounder.wordpress.com/2013/08/22/downloading-apples-server-app-installer-package/

The post is about Server.app, but I have tested this technique with iLife and iWork and using the resulting PKG files from his technique essentially will keep this from being an issue. I have installed both resulting PKGs on my test machines and things seem to work fine, including GarageBand.

cbrewer
Valued Contributor II

@blackholemac

The method you mention is what I've been doing also - see the top of this thread. When using this method, I have been unable to install the resulting Garageband pkg file. With iPhoto and iMovie - they install fine, but the App Store is reporting that I need to update these apps even though they are current versions.

blackholemac
Valued Contributor III

It launched just fine on a MacBook Air here...yes I did actually test GarageBand...weirdness...maybe get another copy of the PKG??

cbrewer
Valued Contributor II

Thanks @blackholemac - I recreated my GarageBand PKG again and it's working now. I still get the App Store wanting to update, but it looks like Chris's method above for creating a dummy receipt file works for that. Now I just wonder what will happen when there is a legitimate update for one of these programs.

bentoms
Release Candidate Programs Tester

Chris, that's something I thought about too.

Can you keep us updated when there is an update for one of those apps you've created the dummy MASReceipt?

I'm hoping it alerts & updates, without Apple ID prompting. Or doesn't alert at all requiring updating via Casper.

Chris
Valued Contributor

@bentoms There is Garage Band 10.0.1 now.
Problem is, Garage Band is the only iLife / iWork app i didn't download, so i can't try it :(
Anyone else got the 10.0 installer from the AppStore?

ImAMacGuy
Valued Contributor II

I did @rtrouton's method also for garageband 10.0 and when I just tried to install the pkg onto my box, it said the app was damaged. After I added @Chris's suggestion for the receipt, it launched. When I checked the MAS for updates, it shows no new updates, and my GB is still at 10.0.

bentoms
Release Candidate Programs Tester

@jwojda, thanks.. That will work… :) We weekly update our macs.. if it means we need to package the apps post update & deploy then it works for us.

I'm awaiting guidance from Apple, but am assuming that as long as we hold the appropriate licenses they don't care how to deploy it.

Backas
New Contributor

Hi,
I am watching the thread as well.
We need to upgrade (once) a number of machines eligible for those apps, so we are looking for ways to deploy them, but we need them to have the ability to update them via their own AppleIDs after.

Best regards

Kostas

bentoms
Release Candidate Programs Tester

@Backas with no VPP in Greece... I'd just enable caching server & get people to download using their Apple ID's once updated to Mavericks.

(The caching server is to speed up the download process & to save bandwidth).

Backas
New Contributor

Thank you. We are in a different situation here... We need to update company owned machines (eligible to get the updates, but not in our company, but to several clients), in which they had the old DVD iLife apps. Most of the employees there do not have (or use) their own AppleIDs in those machines.

Best regards

Kostas

bentoms
Release Candidate Programs Tester

@Backas, they have to move the AppleID's then. You'll need to advise them, but check with Apple 1st.

This is the information we've received from Apple, but we have VPP.

Legacy package or DVD installs of iLife are automatically migrated to App Store versions when a system is upgraded to Mavericks - I.e not a paid upgrade. iLife is no longer available to buy outside of VPP

So you'll need the companies to redeem, maybe using an Apple ID per company.. But they'll need to enter those details to update.

Chriskmpruitt
Contributor

After you have ILife installed, how are you managing the updates? I would like our users not to see any prompt for updates. Any thoughts?

cbrewer
Valued Contributor II

@Chriskmpruitt It's kinda hokey, but I use Chris's method above to create a dummy receipt. This will keep you from being prompted to update via the App Store. As well, if any app does need a legitimate update I have another script the will delete the dummy receipt.

create_receipts

#!/bin/bash

# Create dummy receipts for iWork and iLife apps

if [ -d /Applications/iPhoto.app ];then
    mkdir -m 755 /Applications/iPhoto.app/Contents/_MASReceipt
    touch /Applications/iPhoto.app/Contents/_MASReceipt/receipt
fi
if [ -d /Applications/iMovie.app ];then
    mkdir -m 755 /Applications/iMovie.app/Contents/_MASReceipt
    touch /Applications/iMovie.app/Contents/_MASReceipt/receipt
fi
if [ -d /Applications/GarageBand.app ];then
    mkdir -m 755 /Applications/GarageBand.app/Contents/_MASReceipt
    touch /Applications/GarageBand.app/Contents/_MASReceipt/receipt
fi
if [ -d /Applications/Keynote.app ];then
    mkdir -m 755 /Applications/Keynote.app/Contents/_MASReceipt
    touch /Applications/Keynote.app/Contents/_MASReceipt/receipt
fi
if [ -d /Applications/Numbers.app ];then
    mkdir -m 755 /Applications/Numbers.app/Contents/_MASReceipt
    touch /Applications/Numbers.app/Contents/_MASReceipt/receipt
fi
if [ -d /Applications/Pages.app ];then
    mkdir -m 755 /Applications/Pages.app/Contents/_MASReceipt
    touch /Applications/Pages.app/Contents/_MASReceipt/receipt
fi

delete_receipts

#!/bin/bash

# Delete dummy receipts for old versions of iWork and iLife apps

if [ -f /Applications/iPhoto.app/Contents/_MASReceipt/receipt ];then
    if [ ! -s /Applications/iPhoto.app/Contents/_MASReceipt/receipt ];then
        if [[ ! `defaults read /Applications/iPhoto.app/Contents/Info CFBundleShortVersionString` == 9.5.1 ]];then
            rm /Applications/iPhoto.app/Contents/_MASReceipt/receipt
            echo "Deleted receipt for iPhoto.app"
        fi
    fi
fi
if [ -f /Applications/iMovie.app/Contents/_MASReceipt/receipt ];then
    if [ ! -s /Applications/iMovie.app/Contents/_MASReceipt/receipt ];then
        if [[ ! `defaults read /Applications/iMovie.app/Contents/Info CFBundleShortVersionString` == 10.0.2 ]];then
            rm /Applications/iMovie.app/Contents/_MASReceipt/receipt
            echo "Deleted receipt for iMovie.app"
        fi
    fi
fi
if [ -f /Applications/GarageBand.app/Contents/_MASReceipt/receipt ];then
    if [ ! -s /Applications/GarageBand.app/Contents/_MASReceipt/receipt ];then
        if [[ ! `defaults read /Applications/GarageBand.app/Contents/Info CFBundleShortVersionString` == 10.0.1 ]];then
            rm /Applications/GarageBand.app/Contents/_MASReceipt/receipt
            echo "Deleted receipt for GarageBand.app"
        fi
    fi
fi
if [ -f /Applications/Keynote.app/Contents/_MASReceipt/receipt ];then
    if [ ! -s /Applications/Keynote.app/Contents/_MASReceipt/receipt ];then
        if [[ ! `defaults read /Applications/Keynote.app/Contents/Info CFBundleShortVersionString` == 6.1 ]];then
            rm /Applications/Keynote.app/Contents/_MASReceipt/receipt
            echo "Deleted receipt for Keynote.app"
        fi
    fi
fi
if [ -f /Applications/Numbers.app/Contents/_MASReceipt/receipt ];then
    if [ ! -s /Applications/Numbers.app/Contents/_MASReceipt/receipt ];then
        if [[ ! `defaults read /Applications/Numbers.app/Contents/Info CFBundleShortVersionString` == 3.1 ]];then
            rm /Applications/Numbers.app/Contents/_MASReceipt/receipt
            echo "Deleted receipt for Numbers.app"
        fi
    fi
fi
if [ -f /Applications/Pages.app/Contents/_MASReceipt/receipt ];then
    if [ ! -s /Applications/Pages.app/Contents/_MASReceipt/receipt ];then
        if [[ ! `defaults read /Applications/Pages.app/Contents/Info CFBundleShortVersionString` == 5.1 ]];then
            rm /Applications/Pages.app/Contents/_MASReceipt/receipt
            echo "Deleted receipt for Pages.app"
        fi
    fi
fi

Chriskmpruitt
Contributor

@cbrewer thank you for getting back so fast! So I have tested both scripts and the dummy receipt I still get the prompt. But after deleting the receipt I get no prompt. Would there be any reason why we would want that file, if we are managing all the updates?

cbrewer
Valued Contributor II

I've found that a restart is usually needed before the dummy receipt takes affect.

Chriskmpruitt
Contributor

@cbrewer sorry to bring this back up. But can you just delete the receipt? or do you need the dummy receipt?

cbrewer
Valued Contributor II

IIRC - The dummy receipt keeps users from being prompted by the App Store to reinstall the applications. Depending on your environment, you might be okay without it.

scottb
Honored Contributor

I've seen a couple instances lately where the package with dummy receipt is still showing an update in MAS. I could not replicate 100% either way. But it seems most of the time it works as far as installing and being usable. Only one I've not been able to build yet that works right is GarageBand due to the extra content. But there is another thread where someone has a process I've not yet tested. https://jamfnation.jamfsoftware.com/discussion.html?id=10327

Post by @pbenham has the process.

cdenoia
New Contributor

Hey guys,
For iLife and iWork apps - dragging the .App into Composer seems to work well for most apps except Garageband.
We usually delete [_MASReceipts]. This works fine for most AppStore apps. However Garageband v.10.0.2 doesn't like it. Error: "damaged and can't be opened".

If I keep [_MASReceipts] in the app bundle, it works fine.

Chriskmpruitt
Contributor

I have deleted the _MasReceipts from all apps. But the App is still tied to a apple ID. Is there a way that you can untie a App from a Apple ID?

Backas
New Contributor

Hello,

I created the pkg via Packages using a never booted machine apps.

Best regards

Kostas

cdenoia
New Contributor

You can try this script. It'll perform the painful process described in other posts and should yield you a clean PKG.

https://jamfnation.jamfsoftware.com/viewProductFile.html?fid=690

Chriskmpruitt
Contributor

@cdenoia if you deploy the dummy receipt from @cbrewer right after iLife is installed, garageband will open and not be tied to a apple id account

Chriskmpruitt
Contributor

@cbrewer do you have that dummy receipt in a smart group?

TSOAFTVPPC
Contributor

I am a bit confused by this process and not sure if it works any more.
It seems this process just ignores the receipts and doesn't work correctly with garage band and additional instruments. Is that correct?

Joseph_Morris
Contributor

Honestly, you should probably talk to your Apple Rep regarding transferring your existing iLife/iWork licenses to VPP codes that you can assign to users via their Apple ID and revoke when you need them back. That's how we're doing it with our machines and we have yet to have any issues. All apps are pushing out to users App Store accounts and are updating the version that was included on their MBA to the latest from Apple.

jstandre
New Contributor III

Joseph,
What process are you using to get the VPP codes? Our rep suggested the same thing, told us to fill out the a VPP support form and select "iOS fullfillment" even though we are using MB Airs as well. VPP support then told us to use the Up-to-Date program. We filled that out, and we have yet to get a response. Plus, it seems to only cover Keynote, Pages, and Numbers. We seem to just be getting a little bit of the run around.

CasperSally
Valued Contributor II

Is anyone packaging up the instruments in Garageband 10 for classroom/lab use where the App store is unavailable to students? I know I tried this back in May and was unsuccessful, not sure if I was missing something or what. Thanks!