AndyB wrote:I probably don't fully understand what you mean.
I have created now a very small app for the sub-processes which gets stated by CEF with CefRuntime.ExecuteProcess() as last statement.
In my "main" app, i additionally call CefRuntime.Initialize(), and CefRuntime.Shutdown() on application exit,
and Dispose() all created browsers before Shutdown() to get the sub-processes and my app closed properly.
This seems to work fine so far...i don't need to take special care about my app to get started multiple times, which i really don't like if not absolutely necessary.
You are right. My answer was mostly about your last phrase "If i close my app then the CEF initiated process seems to get aborted, no code after ExecuteProcess() gets executed. Is this correct?". I just clarify that in *child processes* code after ExecuteProcess MAY (i.e. optionally) be executed, as well as terminated very deeply in chromium code (that you say). And this is depends from timings and chrome decisions. In case when main process terminated, i think that child process favor terminate early also, but there is no exist any guarantees about. Also childs favor terminate if you close/navigate out to another domain and fresh renderer is requested. But, again, under some situations you can eventually get absolutely fair shutdown (with code after ExecuteProcess execution).