App Auto-Patch combines local application discovery, an Installomator integration, and user-friendly swiftDialog prompts to automate application patch management across Mac computers.
App Auto-Patch was developed based on a similar concept as the Patchomator project, with a significant portion of its code borrowed from there. The main requirement for its use was to create a script deployable through Jamf Pro without the need for installing multiple dependencies on end-user computers. Since the original concept, it has since become an independent repository hosted here.
The script simplifies the process of taking an inventory of installed applications and patching them, eliminating the need for creating multiple Smart Groups, Policies, Patch Management Titles, etc., within Jamf Pro. It provides an easy solution for keeping end-users' applications updated with minimal effort.
This project has since been applied to MDMs outside of Jamf Pro, showcasing its versatility and adaptability.
- Added multi-language support: Entries can be added to the managed configuration profile for multiple languages, based on the setting for the user in macOS
- Added --workflow-install-now-silent option which runs through the workflow without deferrals but does not display dialogs
- Added option to disable Installomator Updates using InstallomatorUpdateDisable TRUE,FALSE
- Added dialogTargetVersion and set to version 2.5.5 as minimum required due to issues with the deferral menu on older versions
App Auto-Patch 3.2 automatically installs itself and necessary components anytime it's ran from outside the working folder /Library/Management/AppAutoPatch/
For more information on getting started and testing, please visit the AAP 3.2.2 Wiki page for more information
- After installed, you can simply run
sudo appautopatch
from terminal with any parameters to configure as you'd like. Examples:
sudo appautopatch --interactiveMode=2 --workflow-install-now --deadline-count-focus=2 --deadline-count-hard=4 --ignored-labels="microsoft* googlechrome* jamfconnect zoom* 1password* firefox* swiftdialog" --verbose-mode
Or trigger from the script directly to perform an install with parameters as you'd like. Example:
./App-Auto-Patch-via-Dialog.zsh --interactiveMode=2 --workflow-install-now --deadline-count-focus=2 --deadline-count-hard=4 --ignored-labels="microsoft* googlechrome* jamfconnect zoom* 1password* firefox* swiftdialog" --verbose-mode
-
You can find a mapping of 2.x variables to 3.2.2 configuration and command line options from the following TSV file: Migration Options
-
Profile Manfiests to assist with building a configuration profile can be found in the Resources folder: Profile Manifests
-
An example configuration profile and a profile & plist containing All available options can be found in the resources: Example Configurations
-
To reset AAP to defaults:
./App-Auto-Patch-via-Dialog.zsh --reset-defaults
-
Clear Ignored, Required, and Optional Labels:
./App-Auto-Patch-via-Dialog.zsh --reset-labels
-
Uninstall App Auto Patch:
./App-Auto-Patch-via-Dialog.zsh --uninstall
Please review the wiki: App Auto-Patch Wiki
You can also join the conversation at the Mac Admins Foundation Slack in channel #app-auto-patch.
To everyone who has helped contribute to App Auto-Patch, including but not limited to:
- Robert Schroeder (@robjschroeder)
- Andrew Spokes (@TechTrekkie)
- Dan Snelson (@dan-snelson)
- Andrew Clark (@drtaru)
- Andrew Barnett (@andrewmbarnett)
- Trevor Sysock (@bigmacadmin)
- Bart Reardon (@bartreardon)
- Charles Mangin (@option8)
- Gil Burns (@gilburns)
- Armin Briegel (@scriptingosx)
- Isaac Ordonez (@issacatmann)
- Søren Theilgaard (@Theile)
- Adam Codega (@acodega)