Executing multiple instances of 3ds Max with dynamic environment variables

loocas | 3ds Max,technical | Saturday, October 5th, 2013

The title sounds a bit complicated, but basically what I needed to achieve was having multiple installations of 3ds Max on my machines and running them as needed.

The problems started when I needed to also include certain .dlls in the Environment for Max to recognize. I store my plugins and plugin libraries outside of Max’s root folder for easier portability, updateability and maintenance.

So, to sum it up, I needed to add to my %PATH% env var “C:\duber\3ds Max 2014\dlls” when running 3ds Max 2014, or “C:\duber\3ds Max 2011\dlls” when running 3ds Max 2011 and so on.

This sounds easier than it actually is, since we cannot assign various Env Vars to shortcuts in Windows (or as far as I know we can’t, please correct me if I’m wrong), which’d solve this issue rather elegantly.

What I had to do instead was to create a .cmd file (a Windows command batch file) with a few simple commands in it and execute that file instead of 3ds Max directly.

Basically put this text into your .cmd file:

@echo off
SET PATH=%path%;C:\duber\3ds Max\2013_x64\dlls
START "" "C:\Program Files\Autodesk\3ds Max 2013\3dsmax.exe"

This will make sure to copy all the global %PATH% variables to the local, current, %PATH% group and include a special directory where all your .dlls are stored so that 3ds Max can see them when starting up.

The last line calls the 3dsmax.exe with no parameters (the first set of quotes).

Link to this start3dsMax2013.cmd file instead to the 3dsmax.exe and you’re all set.

Enjoy. :)

P.S.: Of course you can apply this very same principle to any other program you like, not just 3ds Max.

Powered by WordPress | Theme by Roy Tanck