Home > Mac administration, Mac OS X > Downloading installer packages from the Mac App Store with AppStoreExtract

Downloading installer packages from the Mac App Store with AppStoreExtract

As part of my work, I occasionally need to download installer packages for certain applications from the Mac App Store. In particular, I routinely download and archive certain Apple applications from the MAS to guard against the possibility that Apple will remove older versions of a particular application that I still need to have available.

A tool that has helped me with this has been Max Schlapfer‘s AppStoreExtract script. This script is designed to make copies of the installers from the Mac App Store, and is able to handle multiple installer downloads at once.

AppStoreExtract is available from GitHub at the following address:


For more details on how to download installers from the MAS using AppStoreExtract, see below the jump.

1. If needed, download the AppStoreExtract script and store it in a convenient location.

2. Once the AppStoreExtract script is available, open the Mac App Store and sign in with the appropriate Apple ID for the applications in question.

3. Open Terminal and begin running the script.

Screen Shot 2015 11 19 at 1 56 32 PM

Note: Run the script with the logged-in user’s privileges. Do not run this script with root privileges, as the script will not locate the appropriate Mac App Store download folder when running as root.

4. You’ll be notified that you can press any key to finish the process once the software has been downloaded from the MAS.

Screen Shot 2015 11 19 at 2 53 26 PM

5. Go to the Mac App Store’s Purchased list.

Screen Shot 2015 11 19 at 2 43 08 PM

6. Click the Install button for the desired application(s).

Screen Shot 2015 11 19 at 12 58 21 PM

7. Wait for the MAS to complete installation of all the desired applications.

Screen Shot 2015 11 19 at 2 36 02 PM

8. Go back to Terminal and press any key.

9. When prompted to finalize the packages, press the Y key followed by the Return key on your keyboard.

10. The script will rename the downloaded installers to match the application name and version, then create a disk image with the installer package contained inside.

Screen Shot 2015 11 19 at 1 48 00 PM

11. The disk images will be stored in /Users/Shared/AppStore_Packages

Screen Shot 2015 11 19 at 1 49 29 PM

Screen Shot 2015 11 19 at 1 49 49 PM

These downloaded installers will be signed with the Mac App Store’s certificate. From there, you can use it on its own or as part of a deployment workflow.

Screen Shot 2015 11 19 at 1 50 03 PM

Screen Shot 2015 11 19 at 1 49 57 PM

When the applications in question are installed on a Mac using the downloaded installer package, there will not be a _MASReceipt from the App Store included as part of the application. This means that the applications are not tied to a specific Apple ID.

  1. November 19, 2015 at 9:36 pm

    Thanks for this great tutorial! Very handy.

  2. November 19, 2015 at 10:16 pm

    You can also use this tool to capture update packages by going to the Updates tab instead of the Installers tab, but of course it will only serve you the diff between the previously installed version and the new one.

  3. Joss Brown
    November 19, 2015 at 11:07 pm

    How would removing the _MASReceipt be of any use? I can understand that this (probably) works for keeping older versions of freeware that you downloaded from the AppStore—and I do think that’s a great option—, but in your example (in the image above) you’re downloading Keynote, Numbers & Pages: these are apps you need to pay for, so they will only run when they’re linked to your AppStore account, or any other AppStore user who’s a registered buyer of those apps. Or am I missing something?

    Your readers should also note that removing the _MASReceipt might be illegal in their respective countries; it is illegal in Germany… as long as it’s for personal and private use (incl. copies for family & close friends) it’s not enforced by penalty, but it’s still de facto illegal.

  4. November 20, 2015 at 3:04 pm

    This is beyond awesome, thanks!

  5. December 1, 2015 at 3:19 pm

    Holy wah! This is awesome. Thanks Rich, and Max!

  6. MiqViq
    December 9, 2015 at 3:38 pm

    Developer Max kindly added a method (just add argument -m, like ‘AppStoreExctract.sh -m’) for saving the package file formatted as “KeyNote-6.6.1.pkg” as this is much more munki-friendly way of naming the packages.

  7. Zesa
    April 20, 2016 at 7:52 am

    In any apps, I take the message that the app is damage. (after installation the dmg). I try it on different clients.

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: