What Is AwesomiumProcess.exe?

What is it?

AwesomiumProcess is a utility executable that the library uses to run sandboxed code (if a web-page crashes, it won't crash your entire application).

Do I really need it?

Single-Process Mode

If you run Awesomium in single-process mode (see WebCore.setForceSingleProcess) you don't need to distribute AwesomiumProcess with your application. Please note this mode is limited to Windows-only and plugins do not work.

Use your own executable as the child-process

Alternatively, some users expressed interest in using their own executable to launch the child-process renderer (so that all processes in the Task Manager show up as the main executable’s name, just like Google Chrome, eg chrome.exe).

We added a method to our API that allows you to do this, here’s some example code that demonstrates how to modify your executable’s main entry point so that it is used to launch all child-processes for Awesomium:

int main(int argc, char** argv)
{
    if(Awesomium::isChildProcess(GetModuleHandle(0)))
        return Awesomium::ChildProcessMain(GetModuleHandle(0));

    // Continue normal main method below.

    Awesomium::WebCoreConfig config;

    // You can specify "self" as a shortcut to
    // the path of this executable.
    config.setChildProcessPath(L"self");

    Awesomium::WebCore webCore(config);

    // This will spawn a new child instance of your executable
    // which will be handled by ChildProcessMain above.
    WebView* webView = webCore.createWebView(512, 512);

    // Rest of your application goes here.

    return 0;
}