Reading StdErr from an asynchronous shell

My project shells out to a command line app that takes quite some time to work. As a result, I capture its status from the .DataAvailable event and use it to update my own app’s progress bar.

This all works fine on Mac, but on Windows it seems the command line app echos its output to StdErr instead of StdOut, and it’s not firing DataAvailable or readable using shell.ReadAll.

Stderr is echoed to the console so it looks fine when you run it manually from the command line, but I’m running into a roadblock reading the data programmatically from Xojo.

Anyone know an approach that works like DataAvailable/ReadAll but can work with StdErr?

Well, strike that. I discovered that ShellMBS from the MBS suite can read from StdErr, and the data isn’t coming in there either.

Somehow this command line app is writing to the console without going through either StdOut or StdErr and without a way to capture it on Windows.