I've been writing a couple of apps which use C# as the Gui, but under the hood do all the work via scripts (which may be Python, Ruby etc.).
To pass information from the script back to the GUI (for example error reporting etc.) I've usually resorted to calling the script via Process and either
- Redirected the input (StartInfo.RedirectStandardOutput etc) and read that
- Created temporary files which the GUI monitors/reads to find out what it needs to know
Neither of these methods seems ideal (the second is simply awful imo) but I don't see any other way to do it. Maybe there isn't but I thought it worth asking before I started another app with a similar set of problem.
Thanks