Packaging & Deploying uniFLOW SmartClient for macOS

When it comes to installing applications for end users at scale, especially for those on macOS, not every developer plays the game. The combination of packaging/zipping/goodness knows what is vast.
uniFLOW is no exception when it comes to SmartClient. A .pkg, inside an .iso, with hidden files.
I'm writing this as a reminder on how I did this, as I need to deploy an update to the client.

The first mistake I made, when I did this with the original deployment, was not checking for hidden config files within the .iso (… no words). I was deploying the .pkg and couldn't figure out why the client wasn't connecting to the backend.
On further inspection, there's a ".tenantconfig.plist" file inside the .iso file with the .pkg. Because of course there is.

My next deployment attempt was to pop both these files in to a new .pkg using Composer, and then run a postinstall script to install the .pkg.

sudo installer -pkg /tmp/uniflowclient/SmartClientforMac.pkg -target /
This resolved the issue.
Not rocket science, but as I said, I wrote this to remind myself, and hopefully save someone else 5 minutes.
Photo by Devon Janse van Rensburg on Unsplash