Patch @electron/windows-sign to skip guest-tools when signing

VBMOUSE.EXE and friends are 16-bit DOS/Win9x binaries served to the guest over SMB; signtool refuses them with 'file format cannot be signed'. The patch skips any path under guest-tools/ during file collection.
This commit is contained in:
Felix Rieseberg
2026-04-12 17:49:01 -07:00
parent 8153e91706
commit fff371073d

View File

@@ -0,0 +1,15 @@
diff --git a/node_modules/@electron/windows-sign/dist/cjs/files.js b/node_modules/@electron/windows-sign/dist/cjs/files.js
index 59a370e..27f9bbd 100644
--- a/node_modules/@electron/windows-sign/dist/cjs/files.js
+++ b/node_modules/@electron/windows-sign/dist/cjs/files.js
@@ -49,6 +49,10 @@ function getFilesToSign(options, dir) {
}
for (const file of files) {
const fullPath = path_1.default.resolve(dir, file);
+ // windows95 patch: skip 16-bit guest binaries that signtool can't sign
+ if (/[\\/]guest-tools[\\/]/i.test(fullPath)) {
+ continue;
+ }
if (fs_extra_1.default.statSync(fullPath).isDirectory()) {
// If it's a directory, recurse
result.push(...getFilesToSign(options, fullPath));