Windows 10 EV code signing no longer works on electron app

1.6k views Asked by At

I have an electron app. Pretty basic app. It doesn't use ffmpeg for anything it does play an mp3 chime from time to time. I build my app with electron-forge using squirrel format. I then sign it using the SafeNet Authentication app. It's always worked flawlessly.

It's been a couple months since I last released a version. Only thing that has changed is some html ui updates within my electron app and of course lots of Windows 10 updates.

My app builds fine using electron-forge, it installs and runs without issue. I then sign it like usual from the command line and SafeNet confirms it was signed. Right clicking on the file shows it has been signed by my organization. However, once I execute the signed app I get this error: "The code execution cannot proceed because ffmpeg.dll was not found. Reinstalling the program may fix this problem."

Here is what I have tried so far:

  • Building/Signing on a different windows 10 machine.
  • Uninstall/Reinstall SafeNet.
  • Running signed .exe on a different Windows 10 instance
  • Building/Signing with a cmd session ran as administrator

I am at a loss, why is it screaming about ffmpeg.dll which my app doesn't depend on? Why only after the .exe has been signed do I get this error?

OS: Windows 10
Electron v7.3.2
Electron-Forge/cli v6.0.0-beta.47
SafeNet x64 v10.3

2

There are 2 answers

0
SoOhNo On

I feel really stupid. I was trying sign the wrong .exe file. Electron-forge creates two output directories when building an app, a directory called "make" and a directory with the name of your app. I should have been signing the .exe in the make folder. The .exe in the app name folder is a stand alone .exe that doesn't have any of the supported .dll files built into it.

0
Chameera W. Ashan On

After run the

npx @electron-forge/cli import and `npm run make`

Inside the project folder path it creates out folder. Inside out, there are two folders make and electron.......... Go to make then 64x and then you can find .exe

Use that one. It will work without any issue.