Package installer

I’ve been using DMGCanvas for last couple of years… I would drag the app in the application folder. Once run the app would install a large folder of files (contained inside the package) to the user>Library>Application Support. This is time consuming and would be much better if the installer would simply copy the files in the Application support at the same time as I dragged the app

I really like the package approach as these seem to install, ask for a password and also don’t need to right click to open in the application folder (I don’t use signed installers).

So, my question:
How do I make a deployment file that I click on once, it stalls my app into the applications folder and my 2nd folder into Application Support>

You can create a pkg file. Those can have pre and post flight shell scripts.

However: why don’t you put an AuthorizationMBS and a progress bar on your copy to Application Support?

Hi there - I have the whole MBS plugins from a few years ago… What would the AuthorizationMBS plugin do?

Any tips on how to create a pkg file with an example of those scripts?


AuthorizationMBS allows you to ask for a password if your copy routines give back an error -5000 (not allowed).

I think this here is a GUI for making pkg files:

This here is my main installation script:

#!/bin/sh mkdir /Applications/Mail\\ Archiver\\ X cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ditto OS\\ X\\ 64\\ bit /Applications/Mail\\ Archiver\\ X

1: it makes a directory, 2: cd’s to the origin of the script - I think, 3: copies everything to the path in line 1 - I think. Regexes are far easier to write than this stuff.

Another script is simpler:

#!/bin/sh ditto "$1" "$2"

This shell script is called with 2 arguments and copies everything from $1 to $2.

I use AppWrapper to create an installer package for my programs. No need to put the password management in the installer.

DMGCanvas will let you create a DMG with a password.

BTW, Sean, you should move this question to MacOS, so it makes it easy to search for it later :slight_smile: