diff --git a/README.md b/README.md index 7ab6f2a..5a094ad 100644 --- a/README.md +++ b/README.md @@ -182,6 +182,8 @@ The default is `prompt_user`. ### Adding applications/label blocks +#### Required Variables + The script requires four pieces of information to download and install an application: ``` @@ -195,14 +197,75 @@ The script requires four pieces of information to download and install an applic The four required variables are -- `name`: the display name of the installed application without the `.app` extensions -- `type`: the type of the installation. Possible values: +- `name`: +The display name of the installed application without the `.app` extensions. + +- `type`: +The type of installation. Possible values: - `dmg`: application in disk image file (drag'n drop installation) - `pkg`: flat pkg download - `zip`: application in zip archive (`zip` or `tbz` extension) - `pkgInDmg`: a pkg file inside a disk image - `pkgInZip`: a pkg file inside a zip -- `downloadURL`: the URL from which to download the archive -- `expectedTeamID`: the 10-character Developer Team ID with which the application or pkg is signed and notarized + +- `downloadURL`: +The URL from which to download the archive. +The URL can be generated by a series of commands, for example when you need to parse an xml file for the latest URL. (See `bbedit`, `desktoppr`, or `omnigraffle` for examples.) + +- `expectedTeamID`: +The 10-character Developer Team ID with which the application or pkg is signed and notarized. + + Obtain the team ID by running: + + - Applications (in dmgs or zips) + `spctl -a -vv /Applications/BBEdit.app` + + - Pkgs + `spctl -a -vv -t install ~/Downloads/desktoppr-0.2.pkg` + + +#### Optional Variables + +Depending on the application or pkg there are a few more variables you can or need to set. Many of these are derived from the required variables, but may need to be set manually if those derived values do not work. + +- `archiveName`: (optional) + The name of the downloaded file. + When not given the `archiveName` is set to `$name.$type` + +- `appName`: (optional) + File name of the app bundle in the dmg to verify and copy (include the `.app`). + When not given, the `appName` is set to `$name.app`. + +- `targetDir`: (optional) + dmg or zip: + Applications will be copied to this directory. + Default value is '`/Applications`' for dmg and zip installations. + pkg: + `targetDir` is used as the install-location. Default is '`/`'. + +- `blockingProcesses`: (optional) + Array of process names that will block the installation or update. + If no `blockingProcesses` array is given the default will be: + `blockingProcesses=( $name )` + When a package contains multiple applications, _all_ should be listed, e.g: + `blockingProcesses=( "Keynote" "Pages" "Numbers" )` + When a workflow has no blocking processes, use + `blockingProcesses=( NONE )` + +- `pkgName`: (optional, only used for `dmgInPkg` and `dmgInZip`) + File name of the pkg file _inside_ the dmg or zip. + When not given the pkgName is set to `$name.pkg`. + +- `updateTool`: +- `updateToolArguments`: + When Installomator detects an existing installation of the application, + and the `updateTool` variable is set then + `$updateTool $updateArguments` + Will be run instead of of downloading and installing a complete new version. + Use this when the `updateTool` does differential and optimized downloads. + e.g. `msupdate` (see microsoft installations) + +- `updateToolRunAsCurrentUser`: + When this variable is set (any value), `$updateTool` will be run as the current user. Default is unset and