funny, I was trying something else and just saw that /show was still a refinement  and that works.
darn.  I havn't used /show for years.
but I actually found a better solution.
using cheyenne's Call  and  add  "Cmd /C" to the head of the command (without using  /show)
you must simply remove the  ^M  chars , but at least there are no command prompts popping up.
^M  chars from the piped output
That's a good solution.
rebol turns app dev times upside down.   2 hours to build an app   2 days to figure out how to launch a command line without crashing the app  ;-)
The problem with /show, for me, is that it was added in such a way that it broke compatibility with the old version of CALL. Doc's stuff is a great replacement.

Max, the bug with /output in encap used to be that it would fail (i think it would actually crash) if you did not have the REBOL console open. Maybe something similar happens on the newer versions as well?
eg. try a print "something" before the call/output and see if that makes it work.
We have had similar problems with Windows 7 and Windows Server 2008R2. I thought it was a new security "feature". Starting the app from a command shell works fine. Setting compatibility options and "run as administrator" doesn't help.
Gab, It crashes (freezes) with the console open.  currently, it really requires /show if using the R2 CALL func.
otherwise pre-pending   "CMD /C"    to the command while using cheyenne's win-call also works, but has the advantage of not showing a dos prompt at each execution.

this works from   get-env "%userprofile%"  but in my SdK I get none.
ah.. works without the %
so small difference between the sdk and core
Here is working example on Win7:
stdout: make string! 255
call/wait/output rejoin [to-local-file system/options/path %\extract.exe " mypassword"] stdout
I remember that CALL supports rebol style file names, but it sometimes fail to run the app. So to put TO-LOCAL-FILE is good.
But in this example extract.exe is a Win32 application that outputs to stdout, not a real DOS app. This might be a difference.
try this; outfile, infile, errfile are filepath
cmd: "someexeprog.exe < to-local-file to-file infile > to-local-file to-file outfile 2> to-local-file to-file errfile"
call/wait cmd
If you don't want any filepath, replace them with NUL
outfile: to-local-file to-file "outfile.txt" infile: to-local-file to-file "infile.txt" errfile: to-local-file to-file "errfile.txt"
cmd: rejoin [{someexeprog.exe < } infile { > } outfile { 2> } errfile]
call/wait cmd

Last message posted 129 weeks ago.