Packaging Maya 2022

skypointer
New Contributor II

Hi all, I'm wondering if anyone has had success in packaging Maya 2022 with a non-network server license key, which our institution is able to put on 1200 machines. I tried referencing this post, but havent been able to successfully deploy the program with my modifications. Any help would be appreciated. Thank you.

65 REPLIES 65

Add your serial as a variable and change the last line from Network to Standalone:

serial="XXX-XXXXXXXX"

/Library/Application\Support/Autodesk/AdskLicensing/Current/helper/AdskLicensingInstHelper register --pk ${pKey} --pv ${year}.0.0.F --lm STANDALONE --sn ${serial} --cf /Applications/Autodesk/maya2023/adlmreg/MayaConfig.pit --nu

 

Good morning Luke, 

I really do appreciate your post. They have helped me get further down this autodesk Maya Journey. I am stuck now though and am looking for guidance. The app downloads, but it does not license it. I see that it includes spaces in the second to last line. This is where I am at with my script logs. 

[STEP 1 of 4]
Executing Policy Autodesk Maya 2024
[STEP 2 of 4]
Running script Autodesk Maya 2024...
Script exit code: 127
Script result: Installing /tmp/InstallMaya2024.app/Contents/Helper/Packages/Maya/Maya_AdLMconf2024.pkg
installer: Package name is Maya_AdLMconf2024 installer: Upgrading at base path / installer: The upgrade was successful. Installing /tmp/InstallMaya2024.app/Contents/Helper/Packages/Maya/MayaUSD.pkg installer: Package name is MayaUSD installer: Upgrading at base path / installer: The upgrade was successful. Installing /tmp/InstallMaya2024.app/Contents/Helper/Packages/Maya/AdobeSubstance3DforMaya-2.4.0-2024-mac-universal.pkg installer: Package name is Adobe Substance 3D for Maya installer: Upgrading at base path / installer: The upgrade was successful. Installing /tmp/InstallMaya2024.app/Contents/Helper/Packages/Maya/LookdevX.pkg installer: Package name is LookdevX installer: Upgrading at base path / installer: The upgrade was successful. Installing /tmp/InstallMaya2024.app/Contents/Helper/Packages/Maya/Maya_core2024.pkg installer: Package name is Maya_core2024 installer: Upgrading at base path / installer: The upgrade was successful. Installing /tmp/InstallMaya2024.app/Contents/Helper/Packages/Maya/MtoA.pkg installer: Package name is MtoA 5.3.4.1 Maya 2024 installer: Upgrading at base path / installer: The upgrade was successful. Installing /tmp/InstallMaya2024.app/Contents/Helper/Packages/Maya/bifrost.pkg installer: Package name is bifrost installer: Upgrading at base path / installer: The upgrade was successful. Installing /tmp/InstallMaya2024.app/Contents/Helper/Packages/Licensing/AdskLicensing-13.3.1.9694-mac-installer.pkg installer: Package name is AdskLicensing-13.3.1.9694-mac-installer installer: Upgrading at base path / installer: The upgrade was successful. Installing /tmp/InstallMaya2024.app/Contents/Helper/Packages/Licensing/adskflexnetserverIPV6.pkg installer: Package name is AdskFlexnetServerIPV6 installer: Upgrading at base path / installer: The upgrade was successful. /Library/Application Support/JAMF/tmp/Autodesk Maya 2024: line 36: /Library/ApplicationSupport/Autodesk/AdskLicensing/Current/helper/AdskLicensingInstHelper: No such file or directory
Error running script: return code was 127.
[STEP 3 of 4]
[STEP 4 of 4]

OH! I believe it may have worked. 

This post was missing a space between Application\ Support. I kept comparing your posts to narrow it down. If for some reason I run into an issue I'll be back!  

Arnold is separate: https://arnoldrenderer.com/download/

Also simplified & parameterised the Maya install, it installs all .pkgs inside the .app installer so you don't need to hardcode them anymore. It should be straightforward to adapt for Mudbox and non-network server.

#!/bin/sh

year="$4"
pkgpath="/tmp/InstallMaya${year}.app"
pKey="$5"
networkServer="$6"
licPath="/Library/Application Support/Autodesk/AdskLicensingService/${pKey}_${year}.0.0.F"
licFile="licpath.lic"

runInstaller ()
{
for PKG in $(find "$pkgpath" -name "*.pkg"); do
	echo "Installing $PKG"
	installer -pkg ${PKG} -target /
done
}

createLicenseFiles ()
{
    {  
    if [[ ! -e "${licPath}" ]];
    then
        /bin/mkdir "${licPath}"
    fi
    
    /usr/bin/touch "${licPath}/${licFile}"
    /bin/chmod 777 "${licPath}/${licFile}"
    /bin/echo "SERVER ${networkServer} 000000000000 " > "${licPath}/${licFile}"
    /bin/echo "USE_SERVER\c" >> "${licPath}/${licFile}"
	}
}

runInstaller
createLicenseFiles
/Library/Application\ Support/Autodesk/AdskLicensing/Current/helper/AdskLicensingInstHelper change --pk "${pKey}" --pv "${year}.0.0.F" --lm NETWORK --ls "${networkServer}"
/bin/rm -rf "${pkgPath}"

  

Hi Future,   

   I made a composer package that puts the Install Maya 2024.app in /private/tmp/Install\ Maya\ 2024.app. I put in the parameters 4,5,and 6 for the year, product key, and networkServer in the script. I set it to run after the package runs. I get the following script result when I look at the log details. Do you know what I'm doing wrong?

 

Executing Policy Install Maya 2024
Downloading Install Maya 2024.pkg...
Downloading https://use1-jcds.services.jamfcloud.com//download/a06625f1d2984ea0a97953ae5acd96b8/Install%20Maya%2......
Verifying package integrity...
Installing Install Maya 2024.pkg...
Successfully installed Install Maya 2024.pkg.
Running script Maya 2024...
Script exit code: 0
Script result: find: /tmp/InstallMaya.app: No such file or directory
mkdir: /Library/Application Support/Autodesk/AdskLicensingService: No such file or directory touch: /Library/Application Support/Autodesk/AdskLicensingService/_.0.0.F/licpath.lic: No such file or directory chmod: /Library/Application Support/Autodesk/AdskLicensingService/_.0.0.F/licpath.lic: No such file or directory /Library/Application Support/JAMF/tmp/Maya 2024: line 28: /Library/Application Support/Autodesk/AdskLicensingService/_.0.0.F/licpath.lic: No such file or directory /Library/Application Support/JAMF/tmp/Maya 2024: line 29: /Library/Application Support/Autodesk/AdskLicensingService/_.0.0.F/licpath.lic: No such file or directory /Library/Application Support/JAMF/tmp/Maya 2024: line 35: /Library/Application Support/Autodesk/AdskLicensing/Current/helper/AdskLicensingInstHelper: No such file or directory
Running Recon...
Retrieving inventory preferences from https://xxxx.jamfcloud.com/...
Locating accounts...
Locating package receipts...
Searching path: /System/Applications
Locating printers...
Gathering application usage information from the JamfDaemon...
Searching path: /Applications
Locating hardware information (macOS 12.6.7)...

Hi Mochi,

I had to drop the spaces from the .app before packaging to get it to work.

Thanks. Dropping the spaces worked for me too. I appreciate the help. Now I don't have to setup Maya 2024 by hand on 120 mac lab computers.

MochiBall
New Contributor II

This worked in the Mac Labs at our college. Really appreciate your work on this! Saved me a bunch of time. Deployed Maya 2023 successfully in our Mac Studio lab and pointed to our License server. You Rock!

glennt
New Contributor II

Hi jonw, I used your 2023 script for AutoCAD & Maya last year (2022) & am proposing to use the same script with the 2024 versions of the applications. Are there any caveats you may have with this? Tnx Glenn.

jonw
Contributor

@kwoodard Thanks!  Yep the '000000000000' should be just like that.  Nothing to replace.  If you run the 'legit' license command it produces exactly this as well, no idea why, but it needs to be that way.  I want to say Arnold comes down with the Maya install, but I wasn't watching closely.  Here's what I see after install:

 

/Applications/Autodesk/Arnold/mtoa/2023/blah...blah

 

 That said, I did pull down a standalone 'Autodesk MtoA-5.1.3.2-darwin-2023.pkg' as well, but didn't install it.  The pkg contents appear to be the same as what comes with Maya.

kwoodard
Contributor III

Awesome! Thank you @jonw !

One last question, it seems that we have a server license for Maya and AutoCAD, but use a serial number for Mudbox. How would I modify the code to use the serial number over the server?

jonw
Contributor

That's a great question! ... I have no idea 😉 
Though this should be a good place to start:
https://knowledge.autodesk.com/support/autocad/troubleshooting/caas/sfdcarticles/sfdcarticles/Use-In...
I'm in higher education, so luckily we just use the free education network licenses.  If an instructor wants an 'offline'  version we have them create their own account to deal with annual license verifications themselves.  They almost always opt to just use the network license.

jonw
Contributor

Actually now that I look closer you're probably better off using the 'legit' register command.  There's a flag for a serial number --sn and I'm guessing your --lm for MudBox would be USER or STANDALONE

Install one of the apps, then check this out for details:

 

/Library/Application\ Support/Autodesk/AdskLicensing/Current/helper/AdskLicensingInstHelper register --help

 

Good luck!


kwoodard
Contributor III

OK, I am stuck... The above scripts work great for a network licensing server setup... For the life of me I cannot figure out how to do a serial number setup. On our campus, we have a serial number license for Mudbox. I have tried using the following, but I get an error: "flag provided but not defined: -sn"

 

licenseFunction2 ()
{
	licensePath="/Library/Application Support/Autodesk/AdskLicensingService/${productKey}_${year}.0.0.F"
	/bin/mkdir -p "${licensePath}"
	/usr/bin/touch "${licensePath}/licpath.lic"
	#/bin/echo "SERVER ${networkServer} 000000000000" > "${licensePath}/licpath.lic"
	#/bin/echo "USE_SERVER" >> "${licensePath}/licpath.lic"
	
	/Library/Application\ Support/Autodesk/AdskLicensing/Current/helper/AdskLicensingInstHelper change --pk "498O1" --pv "2023.0.0.F" --sn "xxx-xxxxxxxx" --lm STANDALONE
}

 

 I commented out the server stuff since our Mudbox uses a serial...Lord knows why. 

I talked the guy that manages our server license for Autodesk to add Mudbox to the license server... Now everything works great. Thanks @jonw , your script is awesome!

Anyone know how to suppress the two dialog boxes that show up when the app starts (mainly Maya and CAD)? My stuff from 2018 doesn't seem to be the case anymore.

Medo
New Contributor

I tried using @jonw 's script, but I seem to be running into an issue where Maya doesn't install and I believe it rolls everything back. Not sure where to check exactly as to what is happening. I made a new package with the --silent removed and the Install worked, but obviously had to click through all the menus. Does anyone have any idea as to what might be causing the install to fail? Should the postinstall script be in Composer or Jamf?

Thanks!

 

The summary log in the macos consolde shows this.

 

Expand

******************** Install Summary ********************

Bundle: Autodesk Maya 2023

Installation Failure in Bundle: Autodesk Maya 2023
Application Name : Autodesk Maya 2023
Package Name : Maya AdLM Configuration Files
Error code : 10
Please explore possible solution from: https://knowledge.autodesk.com/search?knowledgeSource=Technical%20Support&sort=score&page=1&cg=Troub...
Package Name : Autodesk Single Sign On Component MAC
Error code : 10
Please explore possible solution from: https://knowledge.autodesk.com/search?knowledgeSource=Technical%20Support&sort=score&page=1&cg=Troub...
Package Name : Autodesk Licensing Installer 1.0
Error code : 10
Please explore possible solution from: https://knowledge.autodesk.com/search?knowledgeSource=Technical%20Support&sort=score&page=1&cg=Troub...
**************************** End ***************************

 

@Medo Funny timing, I'm actually working on Autodesk updates this week.

I can confirm my script worked without issue a few weeks ago on a dozen Intel iMacs with macOS 13.1 using the same 2023 pkg's I've used since July.  

BUT, just yesterday I had Maya fail on a fresh install as well!  Kicking the licensing service, fully removing & re-installing worked fine on the 2nd round.  Go figure.

I've noticed the install app does perform a curl to Autodesk during installation, I'm wonder if a failed network connection is the culprit?  Just a thought.

btw, here's my removal script, I take no responsibility for its use, it needs some cleanup, please use with care.  My policy always runs this prior to an install/re-install.

#!/bin/bash

### Quick & dirty Autodesk removal
### last updated 2022.07.15 @JonW

### Remove Autodesk (ALL apps & licenses prior and current, note some files/directories may no longer be present)
### CAUTION!! /Library/Application\ Support/FLEXnet\ Publisher/Service is shared with Movie Magic & potentially others (MM dirs are: 11.16.4 & 11.8.0). Remove with care!


### Stop licensing service
launchctl bootout system /Library/LaunchDaemons/com.autodesk.AdskLicensingService.plist
launchctl bootout system /Library/LaunchDaemons/com.autodesk.adskaccessservicehost.plist

### Remove
rm -rf /Library/Application\ Support/Autodesk/AdskLicensing
pkgutil --forget com.autodesk.AdskLicensing

rm -rf /Applications/Allegorithmic
rm -rf /Applications/Autodesk
rm -rf /Applications/solidangle     
rm -rf /Applications/Substance
rm -rf /Library/Application\ Support/Autodesk
rm -rf /Library/Application\ Support/FLEXnet\ Publisher/Service/11.13.1
rm -rf /Library/Application\ Support/FLEXnet\ Publisher/Service/11.14.1
rm -rf /Library/Application\ Support/FLEXnet\ Publisher/Service/11.16.2
rm -rf /Library/Application\ Support/FLEXnet\ Publisher/Service/11.17.0
rm -rf /Library/Fonts/Artifakt*
rm -rf /Library/Frameworks/Adlm.framework
rm -rf /Library/LaunchDaemons/com.autodesk*
rm -rf /Library/Management/lab_sync/Library/Application\ Support/Autodesk
rm -rf /Library/Preferences/.com.flexnetlicensing
rm -rf /Library/Preferences/FLEXnet\ Publisher/.acadplaceholder
rm -rf /Library/Preferences/com.autodesk*
rm -rf /Users/Shared/Autodesk
rm -rf /private/var/db/receipts/autodesk*
rm -rf /private/var/db/receipts/com.allegorithmic*
rm -rf /private/var/db/receipts/com.autodesk*
rm -rf /private/var/db/receipts/com.solidangle*
rm -rf /private/var/flexlm
rm -rf /Applications/Autodesk

pkgutil --forget com.autodesk.*
pkgutil --pkgs | grep -i autodesk | xargs -n1 pkgutil --forget

echo "Autodesk has been removed"

exit 0

 

sorry, duplicate reply

Medo
New Contributor

Thanks for the update. I ended up removing the script from Composer and adding it to Jamf. Then I added the the script to the policy that had the Composer package. That seems to have fixed the issue for me. Deployed the policy successfully to 30 M1 iMacs. Maybe a permission issue with whatever the installer downloads when it runs?!

 

On a side note, do you have a solution to automate the privacy/data collection popup on first launch or do you just run it once on all computers?

 

Thanks for sharing your script.

jonw
Contributor

No problem!  And yep, I would expect the script to fail as part of the Composer built pkg.

I get around the privacy/data collection popup by deploying this directory & json files (grabbed from an already agreed login) to all user accounts prior to first launch.  I don't recall if I made any edits to the files, you might want to take a look & test/edit for your environment.

 

.Screen Shot 2023-01-12 at 1.23.53 PM.png

FutureFacinLuke
Contributor II

I noticed significant changes to the .pkg files within /Helper/Packages compared to previous years so I replaced that section with a for loop that recursively installs all .pkgs rather than updating the hardcoded paths. also pushing script parameters for Year, Product Key and 

Policy puts Install Maya $year.app in /tmp

add this script as a postinstall in the .pkg or run it in the same policy 'After'

#!/bin/sh

year="$4"
pkgpath="/tmp/Install Maya ${year}.app"
pKey="$5"
networkServer="$6"
licPath="/Library/Application Support/Autodesk/AdskLicensingService/${pKey}_${year}.0.0.F"
licFile="licpath.lic"

runInstaller ()
{
for PKG in $(find $pkgpath -name "*.pkg"); do
  /usr/sbin/installer -dumplog -verbose -pkg "${PKG}" -target /
done
}

createLicenseFiles ()
{
    if [[ ! -e "${licPath}" ]];
    then
        /bin/mkdir "${licPath}"
    fi

    /usr/bin/touch "${licPath}/${licFile}"
    /bin/chmod 777 "${licPath}/${licFile}"
    /bin/echo "SERVER ${networkServer} 000000000000 " > "${licPath}/${licFile}"
    /bin/echo "USE_SERVER\c" >> "${licPath}/${licFile}"
}

runInstaller
createLicenseFiles
/Library/Application\ Support/Autodesk/AdskLicensing/Current/helper/AdskLicensingInstHelper change --pk "${pKey}" --pv "${year}.0.0.F" --lm NETWORK --ls "${networkServer}"
/bin/rm -rf "${pkgPath}"

 

Hope this helps you until they change how this works, It should be the same for other apps, just change the pkgpath line (or use another variable).

 

Bovio
New Contributor II

Hoping this thread can reactivate for the 2024 installers. Using @robertojok's script, I was able to activate a standalone Maya without issue. But it looks like they've changed Mudbox 2024, and so it's failing to activate. Per Mudbox 2024's release notes, the installer is new. Has anybody dug into this yet?

@Bovio I'll be digging into this again in the next few weeks, and there are a number of script variations in this thread, so I can only speak for my own, but two places I would look first are the 1) the setup command for Mudbox has been using the flag --noui instead of --silent.  Maybe that's changed in v2024?  2) It might be time to start using the --cf flag to denote the path to the app's .pit file.  See the notes at the end of my script above dated 7/28/22 for details.  I'm saying all this without having looked at a 2024 installer, so take it with a grain of salt.

Bovio
New Contributor II

I just took another look at this and the install goes smoothly until license time, when I get the error

reading configuration file /Library/Application Support/Autodesk/AdskLicensingService/AdskLicensingService.data failed: open /Library/Application Support/Autodesk/AdskLicensingService/AdskLicensingService.data: no such file or directory

Any clue what that could be about? 

glennt
New Contributor II

Hi Bovio, are you using a license server? If so you need to be able to contact it prior to installation.

Sorry I hope you don't mind, I'm not 'trying to teach my grandmother to suck eggs'.

Chers,

 

Glenn.

Bovio
New Contributor II
No license server, this is standalone.