electron / windows-installer

Build Windows Installers for Electron apps
MIT License
1.57k stars 263 forks source link

feat: Allow @electron/windows-sign to take over Squirrel codesigning #501

Closed felixrieseberg closed 7 months ago

felixrieseberg commented 8 months ago

This PR enables @electron/windows-sign to "hijack" codesigning within Squirrel. It does so by using @electron/windows-sign's ability to create a custom signtool.exe that's actually a "single executable application" built with Node.js, calling @electron/windows-sign underneath.

This, in turn, allows developers to customize their codesigning pipelines - with custom tools, scripts, and even per-file configurations. Now that Windows will only accept EV Codesigning certificates, many developers are faced with codesigning scenarios that are more complex - involving custom tooling, cloud-based solutions, and other shenanigans.

For details on how this all works underneath the hood, check out https://github.com/electron/windows-sign/commit/8b23eaa900b4ca0905699b4fa17ca22246624fdf

Decision to not make this a breaking change

anaisbetts commented 8 months ago

Seems reasonable to me, it is important that Squirrel invoke signtool.exe (i.e. rather than trying to run Squirrel without signing then signing the EXE file after-the-fact) or else certain files will end up not signed correctly like the generated stub files that Squirrel makes

continuous-auth[bot] commented 7 months ago

:tada: This PR is included in version 5.3.0 :tada:

The release is available on:

Your semantic-release bot :package::rocket: