Installomator - The one installer script to rule them all (macOS Script)
What
This article explores how to use Installomator, a shell script that facilitates the downloading and installation of over 450 different macOS applications, in conjunction with FileWave. It compares this approach to the use of AutoPkg for more controlled versioning and release management.
This article explores the use of Installomator, a dynamic shell script, in tandem with FileWave for maintaining macOS applications. Installomator supports over 450 different applications, facilitating their download and installation directly from the vendor's public URLs. It's particularly useful when the aim is to deploy different versions of applications, acknowledging the complexity of version comparison. When considering tools you may also consider AutoPkg, a tool that emphasizes more stringent control over versioning, testing, and release management.
When/Why
Installomator is a tool designed to streamline the maintenance of macOS applications, particularly useful when the goal is to deploy the latest publicly available version of an application. It directly downloads software from the vendor's public URL, performing checks to verify the authenticity and validity of the download. However, it's important to note that while Installomator can assist with updates, it's not a "set it and forget it" solution. Some applications, like Chrome, Zoom, and Microsoft Office, may have their update processes better managed via a config profile. Furthermore, built-in auto update prompts for other apps may still require attention.
One significant aspect of Installomator's operation is its approach to versioning. Rather than only installing if the downloaded version is newer, Installomator will proceed with the installation if the version numbers are different. This distinction matters because comparing version numbers to determine which is higher can be complex. Therefore, if a vendor releases version 5, and then the download URL accidentally changes and Installomator downloads version 4, the tool will attempt to install this version 4 because the version numbers are different.
Meanwhile, AutoPkg offers an alternative, providing a more tightly controlled method with thorough testing, versioning, and release management, which might be preferable in situations requiring more granular control over software updates.
How
Prerequisites
Deploying Installomator on all your Macs
Installomator operates by taking a 'label' parameter representing the application to be installed. It generally only installs an application if the latest version is newer than the installed version, though exceptions exist, emphasizing the importance of thorough testing. It's deployed via a single FileWave Fileset, with numerous configuration options to improve user experience and system stability. These include user notifications upon completion, the closing of the app prior to installation, prompts before closing the app, and the ability to re-launch the app post-update if it was initially open. Installomator does not interact with App Store applications except to replace them with non-App Store versions if desired. When you configure the script you will see the options about this.
Installing Installomator
- Download the PKG for SwiftDialog and install the PKG as a FileSet.
- Download the PKG for Installomator from Releases · Installomator/Installomator (github.com) install the PKG as a FileSet. This will place the script file to
/usr/local/Installomator/Installomator.sh
Identifying an App to install
Run Installomator by itself in Terminal and get the full list of apps it can install:
/usr/local/Installomator/Installomator.sh
This is the output of that command:
Or run Installomator in Terminal with grep to filter the results:
/usr/local/Installomator/Installomator.sh | grep -i bbedit
This is the output of that command:
Installing an App
At this point you have installed both swiftDialog and Installomator. For the next steps here is an example BBEdit - Installomator.fileset.zip to look at while you follow along.
The BBEdit example is a very simple Fileset containing 3 scripts, and that's all.
The scripts are fairly simple and listed below: check_installomator.sh
install.sh
verify.sh
In our example both |
|
So now you may be wondering about where "bbedit
" is since that label is the label we want to use? Highlight the BBEdit Fileset in your admin console and click the Scripts button in the toolbar. Now right click on install.sh
and pick Properties. The dialog will look like the one here. You'll want to change bbedit
to whatever app you want this to install. Do the same exact thing for verify.sh
.
Configuration youOptions
In our example, we pass the LOGO parameter to usethe script. This action assigns a differentFileWave logo youto the script, derived from the FileWave Kiosk icon file located on a device with FileWave installed. You can lookalso pass additional parameters to further refine Installomator's behavior. This is covered in greater detail at the following link: Configuration and Variables · Installomator/Installomator documentationWiki (github.com) on their GitHub to learn more.
What it looks like
To install an app this way you simply Associate the swiftDialog Fileset, Installomator Fileset, and BBEdit - Installomator.fileset.zip Filesets and you should see it install.
Be careful as some apps/labels may install even if the app is already on the latest version
Depending on what dialogs you have enabled you may show status messages like the below.
You should now be able to deploy anything that Installomator supports. Just remember that this tool is designed to always keep things up to date which can be a good or bad thing for you depending on your use case.
Troubleshooting
You will be able to see what the Fileset is doing by leveraging the Fileset logs. All 3 of the scripts will log to /var/log/fwcld/<fileset_id>
where <fileset_id> is the same as the ID you see in FileWave for the Fileset.
You may also be able to use FileWave Central to right click on the log and view it, but the log on the machine when testing is most simple and will exist 100% of the time.
Related Links
- Installomator GitHub - Installomator official GitHub page
- Deploying swiftDialog via FileWave (macOS PKG)
- AutoPkgr with FileWave - Information on the AutoPkg tool
- Training Day 2022 Presentation - Using_Installomator_to_support_3rd_party_apps_-_Mac.pdf
Digging Deeper
The choice between Installomator and AutoPkg ultimately hinges on your administrative preferences and needs. Installomator, with its ability to streamline the download and installation of different versions of applications, serves as a viable option when the goal is to deploy the latest publicly available versions. However, it requires careful management, especially considering its approach to version comparison and updates. On the other hand, AutoPkg presents a viable alternative for those seeking a more tightly controlled release process, offering thorough testing, versioning, and release management.