While I have built packages thru Composer before, the method that SecureDoc (by WinMagic) installs it's product is somewhat different and I am unsure how to implement it thru JAMF.
For SecureDoc Mac client updates, when the SecureDoc server is upgraded, a generic .dmg is dropped into a folder path on the WIN server, and from within the SES console you 'create package' which propagates to a shareable folder from the server where all format clients can be accessed and downloaded.
What you end up with in the .dmg are two bash script files (one silent, one for interactive use), a couple of text files and a resources folder. I've also discovered an invisible .pkgFolder folder where 4 .pkg installer files reside (Catalina, Mojave, High Sierra, and Sierra). When either script runs, it gathers some info first which determines which of the 4 .pkg installer files to run.
Essentially, what I think I want to do is:
- upload a .dmg to the JSS
- create a policy scoped to look for older versions of SecureDoc
- copy the .dmg to some temp location on the local Mac
- mount the .dmg
- run the silent script (InstallMe) which will then check the SD version, check the OS version, and determine which of the 4 installers to run itself
- when done, unmount the .dmg
Here's what the .dmg looks like:
I experimented dropping a .dmg into Composer but it wasn't too happy (it wanted to convert it to a package). Any thoughts anyone has on tips on how to implement this, or even a better method, I welcome your input!
You probably do need the DMG in a pkg. Have the pkg drop it in a location on the drive (like /tmp), then run a script to mount the DMG and execute the script inside of the DMG. The script can be a postinstall script in the pkg itself (if you want it to be standalone), or run by Jamf afterwards (so you can modify it without rebuilding the whole pkg).