How to encapsulate different exe files into one exe, that talk to each other via IPC

  architecture, exe, python, rust, windows

I’m a newbie dev (still in school). I’m pretty sure I have a need to architect a program like this. See below.

program architecture

I am wondering if it’s possible, and how difficult, to create a Windows 10 program that is architected like this. I have this need for a few reasons:

  1. The program should be a single exe file that is easy for non tech-savvy users to run. Click and go. Portable program, Windows 10+ only.
  2. There is a need for future preprocessor file(s) to be added. Essentially, based on the user’s input, a specific pre-processor file will be chosen. Data is preprocessed, then the processor program is called. Some pre-processed data is transferred via IPC. (I did some IPC in an OS class, but it was all within one C program, never two different languages talking to each other, or calling exe files and talking to that.)
  3. [Why not do it all in one language?] There is a need for future pre-processor files to possibly be in other languages. I don’t want to restrict future devs to just Rust. This is for my employer’s benefit. Talking to other programs via IPC will allow future devs to use their language of choice.
  4. Python has good UI libraries, whereas Rust’s are still immature. I could get away with Rust, but am choosing python for mostly development speed, I assume I can create a UI faster in Python than Rust right now. (never done it with either language)

I guess my two big questions come down to:

  1. If I call an exe file from a language, say Python, will that exe file be executed as a child-process that I can now talk to via IPC?
  2. Can I encapsulate multiple languages, and/or multiple exe files into a single program?

Source: Windows Questions

LEAVE A COMMENT