Posted on 10-04-2018 03:51 AM
Before I go through the pain myself, I like to take the lazy route....
Anyone ???
Thanks
Posted on 10-04-2018 04:02 AM
Yes, I have...
It's a bit of a pain though as the licensing part has to be activated per account (this may vary depending on how you can licence it).
I basically just created a DMG of the .app directory in /Application and then I think you have to edit the file in /Library/Preferences to make sure that the libraries are pointing at %%USERNAME%% (there's documentation for this on their site).
Once installed it has to be manually activated. I then created a simple application that checks for the licence file and distributes to all users and adds to the user template for new users.
Posted on 10-04-2018 04:04 AM
https://help.ableton.com/hc/en-us/articles/209775405-Centralized-administration-of-Live-in-a-multi-user-environment-with-Sassafras-
Posted on 10-04-2018 04:52 AM
Was there just recently...my problem with it was twofold:
@allanp81 described perfectly...every user who logs into the machine to use it has to perform an activation. I tried using Composer techniques with the activation portion but not a good result.
From their website, they insisted that a single named user with valid email activate the thing. That's a no go for us because staff comes and goes, but our assets don't. What I finally had to do was activate it as me...then contact them by phone and change a bunch of crap after persuasion.
My advice...if Sassafras works and you have it use it...if not...have fun with getting this one out. Ultimately, I uploaded the package to Jamf Admin, but I am aware that when it deploys, I must deal with the manual activation. Basically I would have you imagine deploying Finale without the free site license monitor that they provide. They too can use Sassafras.
Posted on 10-04-2018 05:35 AM
I created a self service tool that any user can run (scoped to a smart group on machines that Ableton is installed on). It still relies on it being authorised at least once though.
#!/bin/bash
#check if Ableton has been authorised and copy unlock.cfg to all users and user template
#give user an error is it hasn't so far been authorised
cfgcheck=$( find /Users/ -name "Unlock.cfg" -print | grep -i "ableton" )
if [[ -z $cfgcheck ]]; then
echo "No authorisation files have been created so Ableton must need to be activated still"
/usr/bin/osascript <<-EOF
set theDialogueText to "No Ableton authorisation files have been found.
Please launch Ableton, authorise the software when prompted and then run this tool."
display dialog theDialogueText buttons {"OK"}
EOF
echo "Now exit the application, user will receive an error saying installation failed"
exit 1
else
echo "Let's check for authorisation file(s)"
#get the first path
path=$( echo "$cfgcheck" | head -1 )
echo $path
UserList=`ls /Users | grep -v "Shared" | grep -v -i "admin" | grep -v -i ".localized" | grep -v -i "administrator" | grep -v -i "arduser"`
for u in $UserList ; do
echo "Copying Unlock.cfg to" $u
mkdir -p /Users/$u/Library/Application Support/Ableton/Live 10.0.2/Unlock/
cp "$path" /Users/$u/Library/Application Support/Ableton/Live 10.0.2/Unlock/
done
echo "Copying file to User Template"
mkdir -p /System/Library/User Template/English.lproj/Library/Application Support/Ableton/Live 10.0.2/Unlock/
cp "$path" /System/Library/User Template/English.lproj/Library/Application Support/Ableton/Live 10.0.2/Unlock/
/usr/bin/osascript <<-EOF
set theDialogueText to "The following users are now authorised:
$UserList
The authorisation has also been added to the user template so new users will be already authorised."
display dialog theDialogueText buttons {"OK"}
EOF
exit 0
fi
Posted on 10-04-2018 08:09 AM
I just deployed Ableton Live 10 Standard this week, following these instructions:
https://help.ableton.com/hc/en-us/articles/209073209-Centralized-administration-of-Live-in-a-multi-user-environment-without-Sassafras-
https://help.ableton.com/hc/en-us/articles/209772865-Options-txt-file-for-Live
Application:
Downloaded the .dmg from here: https://help.ableton.com/hc/en-us/articles/211934625-Latest-Live-Version
Factory Packs:
Installed the Live Packs on one workstation, then created a .dmg of the Factory Packs folder for deployment to a shared location on each workstation.
Configuration:
Authorized the license on each device, then created a per-device .dmg of these files:
1. Unlock.cfg - unique per authorized device
2. Library.cfg - same for each device (shared preferences)
3. Options.txt - same for each device (shared preferences)
Afterwards, I did a clean OS install of each device and deployed Live fine without needing to reauthorize. Control surfaces were automatically recognized / configured by Live. One item I need to follow up on: I included -_DisableAutoUpdates in the Options.txt file, but Live's preferences show that automatic updates are still enabled.
Posted on 02-06-2021 01:53 AM
Old post - but if this helps anyone... You can 'globalise' license authorisation file by moving it from the User Library to /Library.
I went a step further & attempted to automate the process, which worked in earlier macOS versions, but seems broken now & haven't had the time to fix the keychain issues.. See my messy WIP script below:
#!/bin/bash
# Script to Setup Ableton Live for multiple users on Mac:
# https://www.ableton.com/en/help/article/authorize-all-users-osx/
# Using an admin account, open Ableton Live.
# When the dialog box appears to authorise, select authorise online.
# You will be redirected to a web browser.
# If the pre-loaded Keychain details haven't stuck,
# login to the Ableton webstite with your Ableton account
# Once the software is authorised, take the authorisation file to the next computer & repeat the above steps if you want to generate a master file for multiple computers, else continue on with the steps below for single computers:
user=$(defaults read /Library/Preferences/com.apple.loginwindow.plist lastUserName)
# Ableton account login details
abletonaccount="xxxx"
password="xxxx"
# activation site
activationsite="http://www.ableton.com/en/account/authorize/?Language=EN&InstallationMedium=Download&InstallationVariant=Suite&Version=10.1.3&BaseProductId=02&Page=authorize&InstallationIsDemo=false"
# enter an email address if you want a copy of the authorization file emailed
emaillic_backup="xxxx"
JAMFHELPER='/Library/Application Support/JAMF/bin/jamfHelper.app/Contents/MacOS/jamfHelper'
homepath=`finger "$user" | awk '/^Directory/ {print $2}'`
logfile=/var/log/AbletonLicensor-$(date +%Y%m%d-%H%M).log
exec >$logfile
exec 2> >(tee -a $logfile >&2)
echo "current user:" $user
echo "current homepath:" $homepath
if [ -e /Library/Application Support/Ableton/Live 10.1.3/Unlock/Unlock.cfg ]; then
echo "global license file already exists, displaying UI options"
# Get the user's selection
ALERTRESULT=`"$JAMFHELPER" -windowType utility -title "ALERT" -heading "Global license file alreay exists" -description "are you sure you want to re-license?" -icon "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/Sync.icns" -button1 "OK" -button2 "Cancel"`
if [ $ALERTRESULT == 0 ]; then
# do button1 stuff
echo "continue licensing.."
rm -rf /Library/Application Support/Ableton/Live 10.1.3/Unlock/
elif [ $ALERTRESULT == 2 ]; then
# do button2 stuff
echo "Cancel was pressed!"
exit 1
fi
fi
# add keychain password to automate login to activation website
#security add-internet-password -a "$abletonaccount" -s "https://www.ableton.com" -w $password -D "Internet Password" -U -T "/System/Library/CoreServices/NetAuthAgent.app/Contents/MacOS/NetAuthSysAgent" -T "/System/Library/CoreServices/NetAuthAgent.app/Contents/MacOS/NetAuthAgent" ~/Library/Keychains/login.keychain
#security add-internet-password -a "$abletonaccount" -l "www.ableton.com ($abletonaccount)" -s "www.ableton.com" -r "http" -w "$password" -t "ntlm" -j "default" -U -T "/Applications/Safari.app" -T "/Applications/Safari.app/Contents/MacOS/Safari" -T "/System/Library/CoreServices/NetAuthAgent.app/Contents/MacOS/NetAuthSysAgent" -T "/System/Library/CoreServices/NetAuthAgent.app/Contents/MacOS/NetAuthAgent" -T "/usr/bin/security" "$homepath"/Library/Keychains/login.keychain
sudo -u "$3" security add-internet-password -a "$abletonaccount" -l "www.ableton.com ($abletonaccount)" -s "https://www.ableton.com" -D "Web form password" -r "http" -w "$password" -t mrof -j "default" -T "/Applications/Safari.app" -T "/Applications/Safari.app/Contents/MacOS/Safari" -T "/System/Library/CoreServices/NetAuthAgent.app/Contents/MacOS/NetAuthSysAgent" -T "/System/Library/CoreServices/NetAuthAgent.app/Contents/MacOS/NetAuthAgent" -T "/usr/bin/security" "$homepath"/Library/Keychains/login.keychain
#echo "New keychain item added:"
sudo -u "$3" security find-internet-password -l "https://www.ableton.com" "$homepath"/Library/Keychains/login.keychain
killall cfprefsd
sleep 2
# perform activation
open "$activationsite"
#sleep 10
# loop here till license file is created
exec 3>&2
exec 2>>$logfile
while [[ `find "$homepath"/Library/Application Support/Ableton/Live 10.1.3/Unlock/Unlock.cfg` -eq 0 ]]; do
echo '--- waiting for license...'
"$JAMFHELPER" -windowType hud
-title 'waiting for license...'
-heading 'Activating Ableton Live'
-description 'login to ableton website to finish'
-timeout 15
-icon '/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/Sync.icns' -startlaunchd &
sleep 15
find "$homepath/Library/Application Support/Ableton/Live 10.1.3/Unlock/Unlock.cfg"
done
exec 2>&3
exec 2> >(tee -a $logfile >&2) # error log back to console
# create global license folder structure
echo "creating license structure & copying license.."
sudo mkdir /Library/Application Support/Ableton
sudo mkdir /Library/Application Support/Ableton/Live 10.1.3
sudo cp -r "$homepath"/Library/Application Support/Ableton/Live 10.1.3/Unlock /Library/Application Support/Ableton/Live 10.1.3/
sleep 5
# remove license directory from all previous users home folders
# as this can cause the global license to fail
echo "removing any license details from existing users.."
for USER_HOME in /Users/*
do
USER_UID=`basename "${USER_HOME}"`
if [ ! "${USER_UID}" = "Shared" ]; then
if [ -d "${USER_HOME}"/Library/Application Support/Ableton/Live 10.1.3/Unlock ]; then
rm -rf "${USER_UID}" "${USER_HOME}"/Library/Application Support/Ableton/Live 10.1.3/Unlock
fi
fi
done
if [ -d "$homepath"/Library/Application Support/Ableton/Live 10.1.3/Unlock ]; then
rm -rf "$homepath"/Library/Application Support/Ableton/Live 10.1.3/Unlock
fi
# email backup copy of license (so it can be restored)
echo "emailing license"
uuencode "/Library/Application Support/Ableton/Live 10.1.3/Unlock/Unlock.cfg" `hostname`-Ableton_Unlock.cfg | mail -s "Ableton license for `hostname`" email@org.com
# remove keychain
if [[ `security find-internet-password -l "www.ableton.com ($abletonaccount)" "$homepath"/Library/Keychains/login.keychain | grep "http://www.ableton.com"` == *"http://www.ableton.com"* ]]; then
echo "found existing item, delete it"
security delete-internet-password -l "www.ableton.com ($abletonaccount)" "$homepath"/Library/Keychains/login.keychain
else
echo "no keychain item to delete"
fi
exit 0
Posted on 02-08-2021 04:38 AM
Wow there's some really elaborate responses here...
For Ableton 9.7.7 (Pre-Catalina)
I did a snapshot.
I did a full Ableton installation.
I then updated the local admins preferences to relocate installed libraries to /Users/Shared.
I then installed the select libraries.
Ended snapshot and created a big PKG.
With the memory of it in Composer, I could break the big PKG into more digestible parts that could be deployed incrementally by JAMFCloud. This was done by passing the big PKG back into Composer and converting to source each time.
If you successfully managed to get items to upload and distribute on JAMFadmin.
You can then set about creating a login script to give newly logged in users the files they need.
I essentially duplicate the license files, and the premade ableton.plist, into the users account and then I changed the ownership of the files and folders.
So you can do something like this....
#!/bin/bash
#Required to reassign current users username to a variable.
CURRENT_USER=$(/usr/bin/python -c 'from SystemConfiguration import SCDynamicStoreCopyConsoleUser; import sys; username = (SCDynamicStoreCopyConsoleUser(None, None, None) or [None])[0]; username = [username,""][username in [u"loginwindow", None, u""]]; sys.stdout.write(username + "
");')
echo "Current users username is : $CURRENT_USER"
echo "Creating a directory to duplicate licensing contents to..."
sudo mkdir /Users/Shared/Ableton Licensing/Ableton
echo "Copying the contents of licensed accounts Ableton folder, to shared directory."
sudo ditto -rsrc /Users/LOCALADMIN/Library/Application Support/Ableton /Users/Shared/Ableton Licensing/Ableton
echo "Changing the owner of the shared directories"
sudo chown -R $CURRENT_USER:staff /Users/Shared/Ableton Licensing
echo "Copying the license files to $CURRENT_USER library"
sudo ditto -rsrc /Users/Shared/Ableton Licensing/Ableton /Users/$CURRENT_USER/Library/Application Support/Ableton
echo "Changing the owner of the shared preferences directories"
sudo chown -R $CURRENT_USER:staff /Users/Shared/Ableton Preferences
echo "Copying the preference files to $CURRENT_USER library"
sudo ditto -rsrc /Users/Shared/Ableton Preferences/ /Users/$CURRENT_USER/Library/Preferences
echo "Ableton License script finishing"
This was some really early work... not the most practical and the script isn't great to be honest.
I would suggest using...
ref="LOCALADMIN"
if [ $CURRENT_USER = $ref ]
then
echo "current user $CURRENT_USER, = reference $ref"
exit
else
fi
...instead and forgoing moving everything to /Users/Shared. I was still learning and was just trying to overcome a problem!
I can't remember off hand if this script had to run at every log-in or not either.
Just wanted to offer my two cents.
Posted on 07-07-2021 05:57 AM
@erowan I think the UI not updating to reflect the preferences is just a bug. From my experience, once this is set in the Options.txt
file, it won't autoupdate, regardless of the state of the UI.
Posted on 07-07-2021 07:28 AM
Sassafras keyserver was the way to go for computer lab licensing.
Posted on 08-13-2024 07:02 AM
Ableton 2024
anyone try did yet?
Posted on 08-13-2024 07:30 AM
we went down the sassafrass route in the end.. so much simpler
Posted on 08-13-2024 10:18 AM
Question
How did you use sassafrass?
just upload the Lic. File?
Thanks!
Posted on 08-13-2024 11:35 AM
NV. i found the link.
Thanks