I got it working in an Azure Worker Role.
I ended up doing something like this:
------------------------------------------------------------------------
var info = new System.Diagnostics.ProcessStartInfo() {
FileName = exePath,
Arguments = string.Format(@" {0}\rasterize.js {1} {2}", appDirectory, urlToWebpage, outputPath),
UseShellExecute = false,
RedirectStandardError = true,
RedirectStandardInput = true,
RedirectStandardOutput = true,
CreateNoWindow = true
};
string errorFromExe = string.Empty;
using (System.Diagnostics.Process proc = System.Diagnostics.Process.Start(info)) {
errorFromExe = proc.StandardError.ReadToEnd();
proc.WaitForExit();
}
------------------------------------------------------------------------
I then log any errors (errorFromExe) and do something with the outputted image.
Hopefully this helps someone else.