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?
readonlyoptionalappimage?:"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.desktopentry.- AppImage runtime — the self-executing stub that mounts the SquashFS at launch.
Available versions:
| Version | Runtime date | Notes |
|---|---|---|
"0.0.0" | Legacy | FUSE2-based AppImage runtime (pre-v27) |
"1.0.3" | 20251108 | Introduces static AppImage runtime |
"1.1.0" | 20251108 | Adds unsquashfs support |
Default
"latest"
fpm?
readonlyoptionalfpm?:"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:
| Version | FPM version | Notes |
|---|---|---|
"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?
readonlyoptionalicons?:"latest"|ToolsetCustom|"1.2.3"
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:
| Version | Notes |
|---|---|
"1.2.3" | Writes 16px/32px ICNS entries as ic04/ic05 ARGB (fixes corrupt small icons in Finder) |
Default
"latest"
linuxToolsMac?
readonlyoptionallinuxToolsMac?:"latest"|"1.0.1"|"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:
| Version | Notes |
|---|---|
"1.0.0" | gnu-tar, lzip, makedepend, glib, libgsf, libtool, pcre, gettext, binutils |
"1.0.1" | Same tools rebuilt on macOS 15 runners — binaries run on macOS 15+ (1.0.0 required macOS 26) |
Default
"latest"
nsis?
readonlyoptionalnsis?:"latest"|ToolsetCustom|"0.0.0"|"1.2.1"
Version of the NSIS toolset bundle used to compile Windows installers.
The bundle ships:
makensis— the NSIS compiler invoked to build.nsiscripts into.exeinstallers.- 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:
| Version | makensis version | Notes |
|---|---|---|
"0.0.0" | 3.0.4.1 | Legacy split bundle — nsis + nsis-resources archives (pre-v27) |
"1.2.1" | 3.12 | Unified bundle — single archive, entrypoint scripts auto-set NSISDIR |
Default
"latest"
sevenZip?
readonlyoptionalsevenZip?:"latest"|"1.0.1"|"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.
Available versions:
| Version | Notes |
|---|---|
"1.0.0" | Shipped the 32-bit 7za.exe for every Windows arch (1.75 GiB memory cap, no LZMA2 multithreading on x64/arm64) |
"1.0.1" | Correct per-arch Windows binaries (x64, ia32, arm64) |
Default
"latest"
squirrel?
readonlyoptionalsquirrel?:"latest"|ToolsetCustom|"1.1.1"
Version of the squirrel.windows bundle used to build Squirrel.Windows installers.
The bundle ships the Squirrel vendor toolset under electron-winstaller/vendor/:
Squirrel.exe/Squirrel-Mono.exe— releasify the app intoSetup.exe(and an optional MSI).SyncReleases.exe— downloads prior releases to produce delta packages.nuget.exe,7z— pack the app into a.nupkgand compress release assets.
rcedit.exe is provisioned from the winCodeSign toolset at runtime (on every platform;
under Wine on non-Windows hosts). Building an MSI additionally uses the shared WiX toolset.
Available versions:
| Version | Notes |
|---|---|
"1.1.1" | Squirrel.Windows 2.0.1 (patched) with a standalone, checksum-verified nuget.exe 6.14.0 |
Set to a ToolsetCustom object to supply your own bundle — it must contain the
electron-winstaller/vendor/ subtree. Only used when building the squirrelWindows target.
Default
"latest"
winCodeSign?
readonlyoptionalwinCodeSign?:"latest"|"1.0.0"|ToolsetCustom|"1.3.0"|"0.0.0"|"1.1.0"|"1.1.1"|"1.2.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.msixartifacts.rcedit— embeds version metadata and icons into.exefiles (legacy usage, migrated to npmreseditpackage).- Windows Kits — used by AppX/MSIX packaging (
makeappx,signtool).
Available versions:
| Version | Notes |
|---|---|
"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 |
Default
"latest"
wine?
readonlyoptionalwine?:"latest"|"1.0.1"|"system"|ToolsetCustom|"0.0.0"
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:
| Version | Wine version | Platform support | Notes |
|---|---|---|---|
"0.0.0" | 4.0.1 | macOS | Legacy portable bundle (pre-v27) |
"1.0.1" | 11.0 | macOS | Supports arm64 macOS via Rosetta |
"system" | host install | macOS, Linux | Uses the wine binary on PATH instead of a bundle |
"system" is the replacement for the USE_SYSTEM_WINE environment variable removed in v27, and
is what "latest" (the default) currently resolves to on every platform: the published "1.0.1"
bundles ship no PE builtins, so a host Wine installation is required to build Windows targets on
macOS or Linux.
To use a custom Wine binary, use a ToolsetCustom object.
Default
"latest"