Choosing a Rendering Engine #
ExeOutput for PHP gives you the flexibility to choose between two powerful HTML rendering engines for your application: Microsoft Edge WebView2 and the Chromium Embedded Framework (CEF). Both are based on the Chromium project, ensuring modern web standards compatibility, but they differ significantly in how they are integrated and distributed.
Your choice of engine impacts your application’s final size, its dependencies, and some of its features, such as media playback. To select an engine, navigate to Application Settings → Rendering Engine.

Comparison: WebView2 vs. CEF #
Here is a summary of the key differences to help you decide which engine is best for your project:
| Feature | Microsoft Edge WebView2 | Chromium Embedded Framework (CEF) |
|---|---|---|
| Core Technology | Microsoft Edge (Chromium) | Embedded Chromium (Version 139.0.38 in ExeOutput 2025) |
| Distribution | Uses the WebView2 runtime installed on the system. | All framework files are bundled inside your EXE. |
| Application Size | Very small (approx. 20 MB). | Large (approx. 150 MB). |
| Dependencies | Requires the WebView2 runtime on the end-user’s PC. | None. Creates a fully self-contained, portable application. |
| Updates | “Evergreen”: automatically updated by Windows Update. | Bundled version is updated only when you recompile with a new ExeOutput version. |
| Media Codecs (MP4/H.264) | Supported by default. | Not supported by default due to licensing. Requires a special licensed build. |
When to Choose WebView2 #
We recommend WebView2 for most new projects. Choose it if:
* You want the smallest possible application size for faster downloads and installation.
* You need to support modern web features and want your app’s rendering engine to be automatically updated with the latest security patches by the operating system.
* Your application requires MP4/H.264 video playback without needing special licenses.
Warning
Known Issue: File Uploads in Forms
There is currently a bug in the Microsoft Edge WebView2 engine that may prevent file uploads (<input type="file">) from working correctly with PHP (see bug report here).
As a workaround, you can either use the CEF engine (which does not have this issue) or implement a native file selection dialog as explained in the topic on how to select local files with PHP. This requires some additional code but provides a reliable solution.
When to Choose CEF (Chromium Embedded Framework) #
CEF is an excellent choice when portability is your top priority. Choose it if:
* You need to create a fully self-contained and portable application with zero external dependencies.
* You require precise control over the exact version of the Chromium engine used by your application.
* You are targeting environments where you cannot guarantee the presence of the WebView2 runtime and prefer not to handle its installation.
Engine Configuration #
Both engines offer a wide range of properties that can be configured in the Application Settings → Rendering Engine section of ExeOutput for PHP.
Configuring WebView2 #
The WebView2 engine provides several options to control its behavior, such as context menus, autofill, and developer tools.
👉 Learn more about configuring the WebView2 engine
Configuring CEF #
The CEF engine offers extensive customization, from command-line arguments to fine-grained control over caching, security, and JavaScript.
- MP4/H.264 Support: The default CEF build only supports open-source codecs like WebM and Ogg. Playback of licensed formats like MP4/H.264 requires a special build. If you need this, we recommend using WebView2 or contacting us for a licensed CEF build (requires a valid MPEG license from Via Licensing Alliance).
- Flash Support: For legacy projects requiring Adobe Flash, an older CEF version with Flash support is available. However, we recommend using the modern Ruffle.rs alternative.
👉 Learn more about configuring the CEF engine
Distributing Applications with WebView2 #
Because WebView2 relies on a runtime component, you need to be aware of its distribution model.
- The WebView2 runtime is included by default on Windows 11 and most recent versions of Windows 10.
- For older systems (Windows 7, 8.1, or older Windows 10), the runtime may need to be installed.
- ExeOutput for PHP includes the official “Evergreen Bootstrapper” installer (
MicrosoftEdgeWebview2Setup.exe) in itsRedistsub-directory. You should bundle this installer with your application’s setup program to ensure a seamless experience for all users.
Note
For more details, please refer to the official Microsoft documentation: Distribute the WebView2 Runtime