Skip to main content

Interface: ToolsetConfig

Version pins and custom bundle overrides for the binary toolsets that electron-builder downloads and caches locally.

Each toolset is a versioned archive hosted at electron-userland/electron-builder-binaries. Omitting a property (or setting it to latest) selects the modern default for that toolset.

To supply your own bundle, set the property to a ToolsetCustom object with a url (https:// or file://) and a checksum for verification. The bundle must mirror the expected directory layout of the corresponding built-in bundle; see the build scripts at https://github.com/electron-userland/electron-builder-binaries/tree/master/packages.

Properties

appimage?

readonly optional appimage?: "latest" | ToolsetCustom | "0.0.0" | "1.1.0" | "1.0.3"

Version of the AppImage toolset bundle used for building .AppImage files.

The bundle ships:

  • mksquashfs — creates the SquashFS filesystem embedded in the AppImage.
  • desktop-file-validate — validates the generated .desktop entry.
  • AppImage runtime — the self-executing stub that mounts the SquashFS at launch.

Available versions:

VersionRuntime dateNotes
"0.0.0"LegacyFUSE2-based AppImage runtime (pre-v27)
"1.0.3"20251108Introduces static AppImage runtime
"1.1.0"20251108Adds unsquashfs support

Releases: https://github.com/electron-userland/electron-builder-binaries/blob/master/packages/appimage/CHANGELOG.md

Default

"latest"

fpm?

readonly optional fpm?: "latest" | ToolsetCustom | "2.2.1"

Version of the FPM bundle used to build Linux packages (.deb, .rpm, .pacman, etc.) on macOS and Linux hosts.

Available versions:

VersionFPM versionNotes
"2.2.1"1.17.0 (Ruby 3.4.3)Current default

Releases: https://github.com/electron-userland/electron-builder-binaries/blob/master/packages/fpm/CHANGELOG.md

Default

"latest"

icons?

readonly optional icons?: "latest" | ToolsetCustom | "1.2.1"

Version of the icons-conversion bundle used to convert source images to .icns, .ico, and PNG icon sets.

Set to a ToolsetCustom object to supply your own icons bundle directory.

Available versions:

VersionNotes
"1.2.1"wasm-vips + @resvg/resvg-wasm

Releases: https://github.com/electron-userland/electron-builder-binaries/blob/master/packages/icons/CHANGELOG.md

Default

"latest"

linuxToolsMac?

readonly optional linuxToolsMac?: "latest" | "1.0.0" | ToolsetCustom

Version of the Linux-tools-mac bundle used to produce .tar.lz archives and build Linux targets on macOS hosts.

The bundle ships macOS-native builds of ar, lzip, and gtar (GNU tar).

Available versions:

VersionNotes
"1.0.0"gnu-tar, lzip, makedepend, glib, libgsf, libtool, pcre, gettext, binutils

Releases: https://github.com/electron-userland/electron-builder-binaries/blob/master/packages/linux-tools-mac/CHANGELOG.md

Default

"latest"

nsis?

readonly optional nsis?: "latest" | ToolsetCustom | "1.2.1" | "0.0.0"

Version of the NSIS toolset bundle used to compile Windows installers.

The bundle ships:

  • makensis — the NSIS compiler invoked to build .nsi scripts into .exe installers.
  • NSIS plugins — the plugin DLLs (NsisMultiUser, UAC, StdUtils, etc.) referenced by electron-builder's default installer scripts.
  • elevate.exe — UAC elevation helper included in NSIS installers.

Available versions:

Versionmakensis versionNotes
"0.0.0"3.0.4.1Legacy split bundle — nsis + nsis-resources archives (pre-v27)
"1.2.1"3.12Unified bundle — single archive, entrypoint scripts auto-set NSISDIR

Releases: https://github.com/electron-userland/electron-builder-binaries/blob/master/packages/nsis/CHANGELOG.md

Default

"latest"

sevenZip?

readonly optional sevenZip?: "latest" | "1.0.0" | ToolsetCustom

Version of the 7-Zip binary bundle used internally to extract .7z and .tar.xz archives.

Set to a ToolsetCustom object to supply your own 7za binary. The url must point to a directory (or a .tar.gz/.zip archive of one) that contains bin/7za (macOS/Linux) or bin/7za.exe (Windows).

Bootstrap constraint: the custom bundle itself must be a .tar.gz or .zip archive (or a bare file:// directory). .7z and .tar.xz archives cannot be used here because extracting them requires 7za — a circular dependency.

Default

"latest"

winCodeSign?

readonly optional winCodeSign?: "latest" | "1.0.0" | ToolsetCustom | "1.2.1" | "1.3.0" | "0.0.0" | "1.1.0" | "1.1.1"

Version of the win-codesign bundle used for Windows code signing and resource editing.

The bundle ships:

  • signtool.exe (Windows) / osslsigncode (macOS & Linux) — used to sign .exe, .dll, and .msix artifacts.
  • rcedit — embeds version metadata and icons into .exe files (legacy usage, migrated to npm resedit package).
  • Windows Kits — used by AppX/MSIX packaging (makeappx, signtool).

Available versions:

VersionNotes
"0.0.0"Legacy bundle — winCodeSign-2.6.0 (pre-v27)
"1.0.0"Windows Kits 10.0.26100.0, osslsigncode v2.9
"1.1.1"Updates osslsigncode to v2.11
"1.2.1"Adds native osslsigncode arm64
"1.3.0"Includes support for Azure Trusted Signing signtool via dlib and .NET 8 runtime

Releases: https://github.com/electron-userland/electron-builder-binaries/blob/master/packages/win-codesign/CHANGELOG.md

Default

"latest"

wine?

readonly optional wine?: "latest" | ToolsetCustom | "0.0.0" | "1.0.1"

Version of the Wine bundle used to run Windows tools (NSIS, rcedit, signtool) on non-Windows hosts (macOS and Linux).

Wine is only required when building Windows targets on a non-Windows machine. On Windows, this setting has no effect.

Available versions:

VersionWine versionPlatform supportNotes
"0.0.0"4.0.1macOSLegacy portable bundle (pre-v27)
"1.0.1"11.0macOSSupports arm64 macOS via Rosetta

To use a custom Wine binary, use a ToolsetCustom object.

Releases: https://github.com/electron-userland/electron-builder-binaries/blob/master/packages/wine/CHANGELOG.md

Default

"latest"