Skip to main content

Similar my experience with AutoCAD 2021, Maya's silent installer didn't work unless a user was logged in. At least it worked at all. Here's my script to deploy it. You have to copy the installer to the /tmp directory. Also the only change needed to the script is your network license server address.

#!/bin/sh

#Instructions for next time
#Import install disk image with munkiimport
#Change installer_type to copy_from_dmg
#Copy installer app to /tmp
#Modify values below as necessary (Usually: year and pKey)

#Set variables

year="2020"
pkgPath1="/tmp/Install Maya 2020.app/Contents/Helper/Packages/Licensing/adlmapps18.pkg"
pkgPath2="/tmp/Install Maya 2020.app/Contents/Helper/Packages/Maya/Maya_AdLMconf2020.pkg"
pkgPath3="/tmp/Install Maya 2020.app/Contents/Helper/Packages/Licensing/adlmflexnetclient.pkg"
pkgPath4="/tmp/Install Maya 2020.app/Contents/Helper/Packages/AdSSO/AdSSO-v2.pkg"
pkgpath4a="/tmp/Install Maya 2020.app/Contents/Helper/Packages/Licensing/adlmframework18.pkg"
pkgPath5="/tmp/Install Maya 2020.app/Contents/Helper/Packages/Licensing/AdskLicensing-9.2.1.2399-mac-installer.pkg"
pkgPath6="/tmp/Install Maya 2020.app/Contents/Helper/Packages/Maya/Maya_core2020.pkg"
pkgPath7="/tmp/Install Maya 2020.app/Contents/Helper/Packages/Maya/bifrost.pkg"
pkgPath8="/tmp/Install Maya 2020.app/Contents/Helper/Packages/Maya/MtoA.pkg"
pkgPath9="/tmp/Install Maya 2020.app/Contents/Helper/Packages/Maya/SubstanceInMaya-2.0.3-MAIN-2020-Darwin.pkg"

pKey="657L1"
networkServer="INSERT NETWORK SERVER ADDRESS HERE"
licPath="/Library/Application Support/Autodesk/AdskLicensingService/${pKey}_${year}.0.0.F"
licFile="LICPATH.lic"
lgsFile="LGS.data"

#Declare functions

runInstaller ()
{
    /usr/sbin/installer -verboseR -pkg "${pkgPath1}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath2}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath3}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath4}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath4a}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath5}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath6}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath7}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath8}" -target /
    /usr/sbin/installer -verboseR -pkg "${pkgPath9}" -target /
}

createLicenseFiles ()
{
    if [[ ! -e "${licPath}" ]];
    then
        /bin/mkdir "${licPath}"
    fi
    /usr/bin/touch "${licPath}/${lgsFile}"
    /bin/chmod 777 "${licPath}/${lgsFile}"
    /usr/bin/touch "${licPath}/${licFile}"
    /bin/chmod 777 "${licPath}/${licFile}"
    /bin/echo "SERVER ${networkServer} 000000000000" > "${licPath}/${licFile}"
    /bin/echo "USE_SERVER" >> "${licPath}/${licFile}"
    /bin/echo "_NETWORK" >> "${licPath}/${lgsFile}"
}
licenceHelper ()
{
    /Library/Application Support/Autodesk/AdskLicensing/Current/helper/AdskLicensingInstHelper change --pk "${pKey}" --pv "${year}.0.0.F" --lm NETWORK --ls "${networkServer}"
}
cleanUp ()
{
    /bin/rm -rf "${pkgPath}"
    /bin/rm -rf "${tmpfile}"
}

#Run script
runInstaller
createLicenseFiles
licenceHelper
cleanUp

SUCCESS. Here's the script I used for AutoDesk Flame and it installed all 30 packages by looping through the /dist folder. The problem with the earlier loop (I believe anyway) is that I had declared it to be a sh script but the syntax is for bash. Once I got the syntax fixed I then realized that there was no need to use the "find" command at all, since all the files in the path variable were .pkg files in the first place. Sadly, the software itself is problematic. Whether I use JAMF to deploy or perform a manual install the stone+wire Process won't start up and Flame exits, but that's another problem for another day.

#!/bin/bash


#Copy installer  to /tmp
#Modify values below as necessary (Usually: year and NetworkServer for Flame 2021)

#Set variables

year="2021"
pkgPath="/tmp/Install Flame Educational Edition.app/Contents/Resources/dist/"


#pKey="Not needed for Flame 2021 Educational if using networkServer"
networkServer="server_path_redacted_for_posting"
licPath="/Library/Application Support/Autodesk/AdskLicensingService/${year}.0.0.F"
licFile="LICPATH.lic"
lgsFile="LGS.data"

#Declare functions

runInstaller ()
{
   for file in "${pkgPath}"*.pkg 
   do
    /usr/sbin/installer -pkg "${file}" -target / -verbose
done
}

createLicenseFiles ()
{
    if [[ ! -e "${licPath}" ]];
    then
        /bin/mkdir "${licPath}"
    fi
    /usr/bin/touch "${licPath}/${lgsFile}"
    /bin/chmod 777 "${licPath}/${lgsFile}"
    /usr/bin/touch "${licPath}/${licFile}"
    /bin/chmod 777 "${licPath}/${licFile}"
    /bin/echo "SERVER ${networkServer} 000000000000" > "${licPath}/${licFile}"
    /bin/echo "USE_SERVER" >> "${licPath}/${licFile}"
    /bin/echo "_NETWORK" >> "${licPath}/${lgsFile}"
}
licenceHelper ()
{
    /Library/Application Support/Autodesk/AdskLicensing/Current/helper/AdskLicensingInstHelper change --pk "${pKey}" --pv "${year}.0.0.F" --lm NETWORK --ls "${networkServer}"
}
cleanUp ()
{
    /bin/rm -rf "${pkgPath}"

}

#Run script
runInstaller
createLicenseFiles
licenceHelper
cleanUp

This script worked perfectly fine for Maya 2020. Now they want Maya 2022. Anyone altered this script already to use for Maya 2022? I tried modifying 2020 to 2022 but in this new installer there are a few other files in the content/licensing folder.

So please do share your script. Thank you in advance.


@DeployAdam

I think what you are looking for (and for any other weary internet travelers that end up on this post looking for 2022 stuff) is here:
2022 Autodesk Stuff