Skip to content
Alex Maitland edited this page Aug 11, 2025 · 11 revisions

Building cef-binary Nuget packages

Builds cef-binary packages either from the official spotify binaries or from locally compiled CEF binaries.

Requirements

  • cmake
  • 7Zip
  • Visual Studio 2022 Pro/Community
  • Powershell

Latest Version (Automated)

For build branch 2704 and newer. Using releases from Spotify CEF Automated Build server

The latest version of the build.ps1 powershell script will download the specified CEF Binary revision and generate the packages automatically.

  • Git clone the cef-binary repository
  • Execute build.ps1 (usage examples below)
  • Nuget packages generated in nuget folder
# Build with default settings this will generate VS2022 builds of the libcef_wrapper and generate the nuget packages
.\build.ps1

# Build version 138.0.36+g52669d7+chromium-138.0.7204.184 with VS2022 
.\build.ps1 -Target vs2022 -CefVersion 138.0.36+g52669d7+chromium-138.0.7204.184
.\build.ps1 -Target nupkg-only -CefVersion 138.0.36+g52669d7+chromium-138.0.7204.184

# Build version 138.0.36+g52669d7+chromium-138.0.7204.184 with VS2022
.\build.ps1 -Target vs2019 -CefVersion 138.0.36+g52669d7+chromium-138.0.7204.184
.\build.ps1 -Target nupkg-only -CefVersion 138.0.36+g52669d7+chromium-138.0.7204.184

# Build version 3.2924.1538.gbfdeccd with VS2022 using your locally compiled CEF version
.\build.ps1 -Target vs2022 -DownloadBinary local -CefVersion 138.0.36+g52669d7+chromium-138.0.7204.184 -CefBinaryDir "../../cefsource/chromium/src/cef/binary_distrib/"
.\build.ps1 -Target nupkg-only -DownloadBinary none -CefVersion 138.0.36+g52669d7+chromium-138.0.7204.184

# Build a local binary using vs2022 only with the cef_binary_138.0.36+g52669d7+chromium-138.0.7204.184_windows64.tar.bz2 and 32 bit files in /code/binaries, using the zip extension, only building the release version, autodetecting the version string from the filename.
./build.ps1 -DownloadBinary local -CefBinaryDir /code/binaries/ -CefVersion auto -NoDebugBuild -Extension zip -Target vs2022;
./build.ps1 -DownloadBinary local -CefBinaryDir /code/binaries/ -CefVersion auto -NoDebugBuild -Extension zip -Target nupkg-only;

Build Script Arguments

For the latest options reading the powershell file directly is best.

  • $Target - This specifies what compiler to use (vs2022 is currently the only supported version) if just compiling, is it should do the full build (nupkg the default), or just to generate the packages (nupkg-only)
  • $DownloadBinary - download to download from the official Spotify builds or local to use a local build
  • $CefBinaryDir - If performing a local build where are the source binaries located
  • $CefVersion - Version to download (or local version to use). If using a local version this can be set to auto and it will determine the version for the binary archive file in the CefBinaryDir
  • $Extension - Extension of the binaries. tar.bz2 for the official Spotify builds (default), zip default windows local build for CEF extension, 7z (option for CEF in newer branches)
  • $NoDebugBuild - (Flag) Do not build the debug package files for cef-binary only do release

Older Versions (manual)

Older releases were sourced from cefbuilds.com - this site is no longer available and these instructions are only left here as a reference.

Important You'll need to use an older version of the build.ps1 script to build the 2623 branch and older

  • Git clone the cef-binary repository
  • Checkout the specific commit
  • Download both 32bit and 64bit versions for the branch your interested in e.g. 3.2623.1401
  • Extract the 32bit version into <path-to-cef-binary>\cef_binary_3.y.z_windows32
  • Extract the 64bit version into <path-to-cef-binary>\cef_binary_3.y.z_windows64
  • Ensure CMake is in the path
  • Edit build.ps1 and update the CEF version and CEF package version based on the CEF version you downloaded.
  • Open powershell
  • Execute build.ps1