electron-userland / electron-wix-msi

:dvd: Create traditional MSI installers for your Electron app
MIT License
318 stars 91 forks source link

Signing MSI attempts dual signing and fails #181

Open AdamPD opened 6 months ago

AdamPD commented 6 months ago

Since the change in https://github.com/electron-userland/electron-wix-msi/pull/177 to use @electron/windows-sign, the package now tries to dual sign the MSI with both SHA-1 and SHA-256 (which fails):

Error: Signtool exited with code 1. Stderr: SignTool Error: Multiple signature support is not implemented for this filetype.

@electron/windows-sign needs to be able to specify that only a single algorithm is required, and then this package should specify which one to use.

PeteAUK commented 6 months ago

I've just updated to the latest version of everything and getting exactly the same error. Digging into it and trying a plethora of approaches and I think this is an issue more relating to windows-sign and MSI's than anything else. I've even tried multiple versions of signtool.exe to see if that made any difference (which it didn't).

On my Windows 10 machine the only way I've got this working is to set appendSignature to false on line 106 of cjs/signWithSignTool.js - it's a hack and not something I'd necessarily recommend. It also explains why the old way of doing it didn't break, because that flag adds the /as argument onto the signtool.exe command which is where the error comes from.

Don't quite know if this varies depending on the operating system being used as it's a weird one to have slipped through.