The tricky part is that app.exe starts a console application (in effect becomes a new shell). app.exe does not accept just any command. You have to wait till it starts, then enter your commands.
As to your suggestions, I get the same error when piping from command line. I believe that app.exe is not set up to accept input from pipes.
Good news is that I found the code for app.exe. So now I get to figure out whats going on in there (written in C). Ah, what a slippery slope. ;D