Posted on 09-27-2018 03:04 PM
In our lab environment(s) for the music department, we have a number of software packages that are installed on the lab iMac. The real challenge is that many of these software applications are not conducive with mass deployment. Licensing, dongles, sheer size, etc. really prohibit deplying via JAMF Pro.
With imaging as-we-know-it going away, this provides additional challenges.
Would like to put it out there is the JAMF-nos-sphere as to how others are dealing with the challenges.
Examples of software we are dealing with:
Pro Tools
KOMPLETE (Native Instruments)
Ableton Live
Logic Pro X (not a real issue, just it ties in with Native Instruments stuff)
Non-music related software that is also challenging:
AutoDesk (MAYA)
Camtasia
Posted on 06-18-2019 04:53 AM
I've spent a few days on this. I'm quite new to JAMF and primarily a Windows SysAdmin.
I had to write a powershell script to deploy Native Instruments on Windows. So I've used the same script and adapted it for Macs.
So you need to deploy Powershell Core 6 as a package. Powershell Core 6 Package
Create a Policy called "Install Native Instruments"
Add Native Access as a package.
Add the powershell script as a package and make sure the script goes into /private/var/tmp/ni.ps1
I decided just to start it from Self Service rather than after enrollment.
Add this as the Script within the policy $4 and $5 parameters are Username and Password defined within the policy.
#!/bin/bash mkdir /Volumes/Native mount_smbfs //"domain>;$4:$5"@<server>/<share /Volumes/Native/ pwsh -File /private/var/tmp/ni.ps1
$tempdir = test-path "/temp"
if ($tempdir -ne $true){
New-Item -ItemType "Directory" -Path /temp -ErrorAction "Continue" -Verbose}
Start-Transcript -Path "/temp/logs/NI.log" -Verbose
$isos = Get-ChildItem -Path "/Volumes/Native/Native Instruments/data" | Select-Object -ExpandProperty "FullName"
$softwarenames = Get-ChildItem -Path "/Volumes/Native/Native Instruments/data" | Select-Object -ExpandProperty "BaseName"
foreach ($iso in $isos){
$softwarenamespace = $softwarename -replace " "," "
$nisoftwaredir = Test-Path "/Volumes/nisoftware"
if ($nisoftwaredir -ne $true){
New-Item /Volumes/nisoftware -ItemType Directory -ErrorAction "Continue" -Verbose}
hdiutil mount $iso -mountpoint /Volumes/nisoftware/
$pkgs = Get-ChildItem /Volumes/nisoftware *.pkg | Select-Object -ExpandProperty FullName
foreach ($pkg in $pkgs){
Start-Process 'installer' -ArgumentList "-pkg "$pkg
" -target /" -Wait}
hdiutil unmount -force /Volumes/nisoftware}
hdiutil unmount -force /Volumes/Software
Remove-Item /Volumes/nisoftware -Force -ErrorAction "Continue" -Verbose
Remove-Item /Volumes/Native -Force -ErrorAction "Continue" -Verbose
Stop-Transcript -Verbose
You do need to manually login to Native Access as an administrator post install.
Posted on 06-18-2019 06:19 AM
Camtasia is available on the Mac App Store. VPP should make that deployment fairly simple.
Posted on 07-08-2019 12:19 PM
@wakmw , can you elaborate a little on your script?
Posted on 07-30-2019 07:47 AM
Ableton Live
I use Composer to make a pkg of the install (copy the app to Applications) for both Live suite and Max4Live.
I then authorise the app on the test Mac.
Then with Composer taking a snapshot I then open Live and install the Packs. Then I will build the packs installer.
I use Jamf to push this lot out to the Labs required, then Log in as Administrator and authorise Live and establish the connection to Max4Live.
Komplete 11
Horrible 126Gb download.
Suggested method - Install Native Access and then use it to install everything, on each Mac.
I normally use Composer to capture the main install of the Apps, but make it ignore the location for the libraries.
Then I use Composer to make pkg's of the library files, keeping them down to a suitable size.
And push this lot out with Jamf. Then on each Mac I log in as Administrator and open Native Access and let it authorise each install.
I do have a copy of all of the ISO files of all of the installers, and when I get the time I intend to build it again using them so I get a proper vanilla install of them. What a faff to get the ISO files, you have to do them one at a time and as soon as the ISO downloads, and starts to install you grab the ISO and move it to a different folder.
Logic, and GarageBand
VPP distributes the Apps for me.
I then use a test Mac to capture the essential sounds for each, and then I will do the same for the full sound library.
I will then bundle the installers into folders up to around 5Gb in size, and compress the folder and then run a post install script to install everything from each compressed archive. Takes a while to sort, but then it works.
Autodesk Maya and Mudbox
I use Jamf to push out the installers, and as we have an autodesk license server, I just need to log in as Admin and point them to the server.
Pixologic zBrush
This used to be a total pain to manage, but we moved to a License server version, now it is pretty easy to push out. The plugins still require setting up by Admin.
Posted on 07-30-2019 08:24 AM
Music image is always our biggest challenge. That being said, over the years I've been able to automate the bulk of things that had tripped me up in the past.
Last year I went the route of setting up munki (https://github.com/munki/munki) in our environment given it's ability to install PKGs and copy apps to /Applications. This extra flexibility has made so much simpler to deploy our software across our fleet and greatly reduced the time I've historically had to spend manually building packages. As one example, because Ableton is distributed as a drag-and-drop app, I no longer have to repackage it using Composer.
Even if you don't want or plan to go the munki route, autopkg (https://github.com/autopkg/autopkg) can save you a heck of a lot of time.
Komplete 11
We don't have this, but my understanding is there is a great autopkg recipe which automates this process. If you haven't explored autopkg, this would definitely be a good reason.
Maya
Checkout https://www.jamf.com/jamf-nation/discussions/10267/packaging-autodesk-maya#responseChild171427
Given Maya uses an installer app to handle all the various integrated pkgs within, this is something we still build with Composer. I've pasted some instructions from our internal docs.
#!/bin/bash
# Install path variables
INSTALLERPATH="/private/tmp/Install Maya 2019.app"
SETUP="${INSTALLERPATH}/Contents/MacOS/setup"
ADLMREG="${INSTALLERPATH}/Contents/Resources/adlmreg"
# Autodesk variables
SERIAL="YOUR SERIAL"
KEY="YOUR KEY"
YEAR="2019"
VERSION="${YEAR}.0.0.F"
LGSDIR="/Library/Application Support/Autodesk/CLM/LGS/${KEY}_${VERSION}"
LGSFILE="${LGSDIR}/LGS.data"
PITFILE="/Library/Application Support/Autodesk/Adlm/PIT/${YEAR}/MayaConfig.pit"
# Exit & error if installer doesn't exist
if [ ! -d "$INSTALLERPATH" ]; then
/bin/echo "${INSTALLERPATH} does not exist. Exiting ..."
exit 1
fi
# Run Maya 2019 installer
"$SETUP" --noui
# Add license. Run twice because ¯_(ツ)_/¯
# https://www.jamf.com/jamf-nation/discussions/10267/packaging-autodesk-maya#responseChild171427
# ONCE
"$ADLMREG" -i S $KEY $KEY $VERSION $SERIAL "$PITFILE"
# TWICE
"$ADLMREG" -i S $KEY $KEY $VERSION $SERIAL "$PITFILE"
# Make LGSDIR
/bin/mkdir -p "$LGSDIR"
# Write LGS.data file
/bin/echo "_STANDALONE" >> "$LGSFILE"
Ableton Live
My understanding is that the latest version has Max built-in? We're still on 9, but don't deploy Max, not 100% sure.
Historically, we created a "Masters Unlock" file which we took around to every machine and activated it so that we could just deploy the one file. This quickly became a pain, and we recently purchased Sassafras K2 License Server just to handle the checking out of our Ableton Licenses. That alone has saved me boat-loads of time.
There's still something on first launch that requires admin credentials, but I haven't revisited.
Pro Tools
We recently switched from standalone licenses to the new network license, which has made deployment easier.
This is where munki has also been valuable for us, as I can set all of the various plugin pkg installers to be updates for Pro Tools. So whenever Pro Tools gets installed, the plugins get installed as well.
GarageBand & Logic
https://github.com/carlashley/appleLoops - we deploy this script to download locally cached copies of all the sound loops. While we cache locally, you can alternatively have loops download directly from Apple. Completely hands-free for us to deploy these. Can't recommend it enough :)
Posted on 07-30-2019 01:59 PM
Update:
Ableton Live 10 - Got some assistance from Ableton with a script, but still have to do some manual work on each machine before using. This is in order for all users who log into a Lab computer to be able to use the software without having to "activate". Multi-user license.
Pro Tools - waiting for school to renew maintenance. Cannot upgrade Lab Macs past High Sierra in fear of huge issues.
Maya 2018 - For the most part, the existing license server data (from previous 2017 install fix) works for the new install. Sometimes have to choose Network License when the new App is first opened.
Logic Pro X - Our new multi license bundle includes Logic Pro, Final Cut, Compressor, Motion, and MainStage 3 - distribute with VPP
Komplete - Cross that bridge when I rebuild the lab. That will not happen until all hardware and software licensing is fully up-to-date.
Posted on 12-12-2019 05:51 AM
Hi @mhegge - any chance you can share the script for Ableton you mention in your post 30th July?
Posted on 12-12-2019 07:57 AM
If the script does what I think it does, then it will be.....
You log in as an admin account and activate Live. The activation files are put in the Admin accounts Library, in Application Support.
The script will copy these activation files across to the Hard drive/Library/Application Support. And then sets permissions for them to read by all.
When a user account logs in and accesses Live, it will look into the Users Library, if empty then it looks in the HD/Library/Application Support for the activation files. If it finds activation files there it will copy them to the Users Library.
The script will pretty much be a ...
cp -Rf /Users/Administrator/Library/Application Support/Ableton /Library/Application Support/
chown -Rf 755 /Library/Application Support/Ableton
Please check this script before use, I did it from memory, I may have a path wrong or the Ableton folder is called Live or has a version number after it. Not near a mac with it installed on to check it out.
Edit. Found the script I use...
cp -Rf /Users/admin/Library/Application Support/Ableton /Library/Application Support/
chmod -R 775 /Library/Application Support/Ableton
cp -Rf /Users/admin/Library/Preferences/Ableton /Library/Preferences/
chmod -R 775 /Library/Preferences/Ableton
cp -Rf /Users/admin/Library/Preferences/com.ableton.live.plist /Library/Preferences/com.ableton.live.plist
chmod -R 775 /Library/Preferences/com.ableton.live.plist
Posted on 06-10-2020 10:32 AM
I don't think I ever posted this. It is the multi-user script for Ableton that I received from their Support. I cannot seem to upload the .sit of the 3 files. I will see if I can set up something on GitHub.
Posted on 06-10-2020 10:40 AM
https://github.com/mhegge64/smartmammal