My guess, just looking at it, is that spawnProcess fails because
there's no streams available for stdin, stdout, and stderr. It
tries to reuse the ones of the parent process, but without a
console they don't work.
It might help to use Config.suppressConsole.. I'm just guessing
but maybe try:
spawnProcess(`[c:\.......]`, recipe, Config.suppressConsole);
and see what happens. Alternatively maybe redirect the stdin,
stdout, and stderr to log files instead of using the default (by
passing File arguments to spawnProcess too)