Files
atomk-hermes-skills/skills/archived/electron-bundled-chromium-dll-fix/SKILL.md
T

1.9 KiB

name, description, version
name description version
electron-bundled-chromium-dll-fix Fix Electron app bundled Chromium failing to launch on Windows due to missing DLLs 1.0

Fix: Bundled Chromium Missing DLLs on Windows

Problem

Electron apps bundling Chromium (for CDP/browser automation) fail to launch on Windows. The process crashes silently with no error output. Root cause: GPU-related DLLs were removed to reduce installer size, but Chromium requires them even with --disable-gpu.

Missing DLLs

These 3 DLLs must be present alongside chrome.dll in the bundled Chromium directory:

  • D3DCompiler_47.dll (~4.9MB)
  • libEGL.dll (~494KB)
  • libGLESv2.dll (~8.2MB)

Source

Download from Chromium for Windows release (e.g. https://storage.googleapis.com/chromium-browser-snapshots/Win/<build>/chrome-win.zip):

  1. Find build number from chrome-win/ directory's chrome_debug.log or commit hash
  2. Download full zip, extract the 3 DLLs
  3. Copy to resources/chromium/ in the Electron project

Key Insight

--disable-gpu is NOT sufficient. Chromium still loads these DLLs at startup for basic rendering pipeline initialization. Without them, the process exits immediately with no stdout/stderr.

Fix Steps

  1. Download matching Chromium version full archive
  2. Copy 3 DLLs to bundled chromium directory
  3. Remove --disable-gpu flag from spawn args (optional — now GPU works properly)
  4. Add diagnoseBrowserSearch() function that checks: registry paths, known paths, DLL presence
  5. Rebuild installer: npm run build:win

Verification

After build, check NSIS installer contains the DLLs:

7z l dist/atomk-desktop-X.X.X-setup.exe | grep -E "D3DCompiler|libEGL|libGLESv2"

Context

  • Project: AtomK-Desktop (hermes-desktop fork)
  • Built with electron-builder, NSIS target
  • Bundled Chromium path in app: resources/chromium/
  • Browser search priority: System Edge/Chrome → Known paths → Bundled Chromium