Posted on 11-13-2019 11:26 AM
We're getting ready to deploy Cinema 4D R21, using the Maxon License Server. I have our infrastructure team adding the Maxon License Server to one of our servers, but in the meantime, I'm taking a look at creating a package for Cinema 4D itself.
Maxon distributes the software as a custom installer built using BitRock InstallBuilder. Fortunately, Maxon also provides some command-line install help. The actual install can be silent installed with
Maxon Cinema 4D R21 Full Installer.app/Contents/MacOS/installbuilder.sh --mode unattended --unattendedmodeui none
So, using that, I can create a package using Composer that drops their installer into /tmp, then does a post-install script that runs that command. Easy, so far.
The problem I haven't been able to figure out: how do I pre-set a Maxon License Server, so that my students aren't prompted at first launch for that?
I see that there is a JSON file that gets created at ~/Library/Preferences/Maxon/Maxon Cinema 4D R21_90860A1D/licenseserver.json that seems to contain the license server info. I could write that file out if I need to, but I'm wondering if there is a Maxon supported method for creating or manipulating that file.
Does anyone deploy Cinema 4D, and have you yet deployed R21? What have you encountered when doing so?
Posted on 11-13-2019 01:43 PM
I'm working on upgrading our users from R20 to R21 tomorrow for Cinema4D. I'll follow up with you on this. I was able to get this done on R20 with a license.ini file that contained the server information, but there are a lot of changes from R20 and R21. R21 also requires different licensing server than R20 did, luckily the new RLM licensing server can run a service, so thats nice.
I'll hit you up tomorrow!
Posted on 11-14-2019 06:54 AM
I just found this, which may answer some questions: https://support.maxon.net/kb/faq.php?id=62.
I'm also contacting Maxon, as the server we wanted to run the license server on is running Windows Server 2012 R2, and therefore not compatible with Maxon License Server. (They require at least Windows 10/Server 2016.) I'm checking with them if we can switch to RLM instead.
Posted on 12-17-2019 08:16 AM
We deployed Maxon Licensing Server and I had success with just copying the config.txt file over the default one mentioned in: https://support.maxon.net/kb/faq.php?id=54 as part of my post install script with the value for my environment filled in for: g_licenseServerUrl="http://[ip adress]:[port]"
Posted on 12-23-2019 11:54 AM
@Julian.Poon Where is this "config.txt" file located in the MacOS deployment? I don't seen one in any of the subdirectories of the package.
@georgecm12 any updates on this so far?
Posted on 01-07-2020 08:49 AM
Here's my update:
1. You're going to have to repackage this, since they distribute it as an .app, not a .pkg. One option, if you don't want to do a snapshot install (I don't) is to create a pkg that dumps their installer into /tmp, then use a postinstall script to run a silent install. For example:
#!/bin/sh
"/private/tmp/Maxon Cinema 4D R21 Full Installer.app/Contents/MacOS/installbuilder.sh" --mode unattended --unattendedmodeui none
2. Once installed, you'll need to modify /Applications/Maxon Cinema 4D R21/resource/config.txt to add the license server (either Maxon License Server or Reprise License Server) info. I incorporated that as a one-liner into the same postinstall script. (This puts it into the Maxon-prescribed location within the config.txt file. I don't know that the location within the config.txt file is that important, but if Maxon says to put it into a specific location, I'm going to do it, just in case. This example is for a Maxon License Server; if you use Reprise License Server, your code will be different.)
perl -pi -e '$_ .= qq(g_licenseServerUrl="http://license.server.url:5264"
) if /g_modulePath =/' /Applications/Maxon Cinema 4D R21/resource/config.txt
Alternatively, you could just edit the file by hand, and copy or install the edited file over the existing file. Both options would work.
3. Here's the part I'm stumbling upon: I don't want students running updates, and by default, it will check in on first launch and try and do an online update. I have a ticket open with Maxon to see if the online updater can be disabled. I have a feeling the answer to that will be no.
Posted on 01-07-2020 08:59 AM
Oh, additionally: I don't see a way to deploy the content library without doing a snapshot install. Previous versions, if I recall correctly, had a content pack able to be downloaded as a separate install. I don't see that available with r21.
So, if you want to deploy the content library, that may be an argument in favor of bypassing the "wrap the Maxon installer into a pkg" method and just doing a snapshot install of the whole thing. (Depends on your level of discomfort at creating pkgs from a snapshot.)
Posted on 01-07-2020 02:14 PM
Two more updates, neither particularly good:
There is no way of adminstratively disabling auto-updating on behalf of the user. The possible solution that Maxon offered was to redirect the user's preference path to a machine-wide location via the "g_prefsPath=[path]" flag in the config.txt file, basically having all users on the computer share the same preference file. I don't really like that option, but it is an option. (The other option would be to pre-configure the program, then copy the ~/Library/Preferences/Maxon folder to the Default Profile folder. I haven't tested this to see if there are any drawbacks/issues with doing so.)
There is no "offline" installer for the content packs. The only source for those is via the online updater. Maxon's suggestion is, and I quote, "you can also update a single machine, install all the content libraries on it, and then copy and paste that installation to all the other machines in lieu of updating them one by one." This, to me, suggests that a snapshot install (including all the content libraries, and any edits to the config.txt file) is your best bet, rather than using the "wrap the Maxon installer into a pkg" method.
Congratulations, Maxon, your software is on my personal "hall of shame"! I haven't had to induct a piece of software into the hall for a while now!
Posted on 01-08-2020 03:29 PM
@Gennaro You'd have to manually install C4D 21 on a Mac to find the "config.txt" file @ the location /Applications/Maxon Cinema 4D R21/resource/ ; but as demonstrated by @georgecm12 above, you could modify the file in place.
There is no way of administratively disabling auto-updating on behalf of the user. The possible solution that Maxon offered was to redirect the user's preference path to a machine-wide location via the "g_prefsPath=[path]" flag in the config.txt file, basically having all users on the computer share the same preference file. I don't really like that option, but it is an option. (The other option would be to pre-configure the program, then copy the ~/Library/Preferences/Maxon folder to the Default Profile folder. I haven't tested this to see if there are any drawbacks/issues with doing so.) There is no "offline" installer for the content packs. The only source for those is via the online updater. Maxon's suggestion is, and I quote, "you can also update a single machine, install all the content libraries on it, and then copy and paste that installation to all the other machines in lieu of updating them one by one." This, to me, suggests that a snapshot install (including all the content libraries, and any edits to the config.txt file) is your best bet, rather than using the "wrap the Maxon installer into a pkg" method.
I think that Maxon has an opportunity to provide more options for managing auto-updating on behalf of users.
We've also been given the explanation to update a computer to the latest version of R21 and any content libraries / language packs and copy and paste that updated installation to the rest of our deployment. Seems like a huge opportunity here as well for Maxon.