Commandscript

I’m attempting (for the first time) to submit a command script that would install the latest 3ds Max PU.

My script is:

msiexec /p "\\CAIRO\Installs\3ds Max 2013 Updates\3dsMax2013_PU05_Win_64-bit.msp" /quiet

but I get an error:

[code]=======================================================
Error Message

Exception during render: An error occurred in RenderTasks(): Render executable returned from RenderExecutable(), “msiexec”, does not exist.
at Deadline.Plugins.ScriptPlugin.RenderTasks(String taskId, Int32 startFrame, Int32 endFrame, String& outMessage)

=======================================================
Slave Log

0: Task timeout is disabled.
0: Loaded job: Untitled (999_050_999_3e3185ef)
0: INFO: StartJob: initializing script plugin CommandScript
0: INFO: About: Command Script support for Deadline
0: Plugin rendering frame(s): 0
0: INFO: Checking line:msiexec /p “\CAIRO\Installs\3ds Max 2013 Updates\3dsMax2013_PU05_Win_64-bit.msp” REINSTALL=ALL REINSTALLMODE=omus
0: INFO: Executable found: msiexec
0: INFO: Arguments found: /p “\CAIRO\Installs\3ds Max 2013 Updates\3dsMax2013_PU05_Win_64-bit.msp” REINSTALL=ALL REINSTALLMODE=omus
0: INFO: Stdout Handling Enabled: False
0: INFO: Popup Handling Enabled: False
0: INFO: Using Process Tree: True
0: INFO: Hiding DOS Window: True
0: INFO: Creating New Console: False
0: INFO: Render Executable: “msiexec”
0: INFO: Render Argument: /p “\CAIRO\Installs\3ds Max 2013 Updates\3dsMax2013_PU05_Win_64-bit.msp” REINSTALL=ALL REINSTALLMODE=omus
0: INFO: Startup Directory: “”

=======================================================
Error Type

RenderPluginException

=======================================================
Error Stack Trace

at Deadline.Plugins.Plugin.RenderTask(String taskId, Int32 startFrame, Int32 endFrame)
at Deadline.Slaves.SlaveRenderThread.RenderCurrentTask(TaskLogWriter tlw)[/code]

Where am I going wrong?

You probably just need to give the full path to msiexec (ie: C:\Windows\system32\msiexec.exe").

Cheers,

  • Ryan

Thanks, what is the best way to make sure each node runs it once?

There is nothing built into Deadline yet to ensure a job only runs once on a particular machine. It’s been on the wishlist for a while…

You could submit a job for each node, whitelisted to a specific node. Definitely not ideal, but it would work.

For a command like that I usually just right click on the render node in the monitor and run that line as a remote command on each machine. You can have deadline wait for the execution and it gives you the return code so that you know it executed the command properly or not.

Hope that helps.