Closed xNaCly closed 3 months ago
Squirrel does support .node files, because the Windows ones are just renamed DLLs (and should be signed). You need to remove the macOS and Linux binaries from your package before signing. Most Electron packaging tools have a way to strip non-required content before packaging (and it's a good idea! Shipping macOS binaries in your Windows app is silly)
Squirrel version(s) 2.0.1
Description Squirrel fails to sign the application due to encountering
*.node
files thesigntool.exe
does not support.Steps to recreate
Expected behavior Signing process should be successful.
Actual behavior Signing fails for
*.node
files, but not for*.exe
and*.dll
files.signtool.exe
does not support*.node
files, why is squirrel attempting to sign these files?Additional information
I am using
@electron/forge
with@electron/maker-squirrel
to build my electron application with the following configuration:Output of squirrel attempting to sign a
.node
file:Stacktrace:
Code for enabling
*.node
signing:https://github.com/Squirrel/Squirrel.Windows/blob/51f5e2cb01add79280a53d51e8d0cfa20f8c9f9f/src/Squirrel/Utility.cs#L562
The specific error occurs due to the fact, that a dependency of mine ships ELF and MACHO binaries, which are labelled as
.node
files and can't be signed bysigntool.exe
. I would love to contribute an option to list a.node
file to exclude it from the signing process or check the magic numbers to match the binary format of the current operating system.