Electron Updater Version: 4.2.5
Target: Windows NSIS (tested on Windows 7 and 10)
I recently switched to Mac OS 10.15 (Catalina) which doesn't support 32 bit executables anymore. Doing so, I also upgraded electron-builder to the latest version so Wine isn't used.
Since then, my Windows NSIS uninstaller seems broken. The build process works as expected, no error/warning raised. However, after the first install of my app which works well, I face a NSIS error when I try to uninstall. This is the common "Installer integrity check has failed" error. When I try to either manually reinstall the app or update it using electron-updater, the installer progress bar stays stuck at around 40%.
My build config is the default one. I tried some tweaks suggested on similar issues but none of them helped. If I build my app from a previous MacOS version the issue disappears.
I had to downgrade to 21.2.0 to fix my issue https://github.com/electron-userland/electron-builder/issues/4878
Unfortunately this issue seems different: I got no warning from Windows Defender. I tried to downgrade electron-builder to 21.x, as well as turning off the "Windows Defender real-time protection". (Issue appears also on Windows 7 BTW)
Same issue!
Any solution or workaround?
Same for me!

Affected by this reg key. Clean it and problem is gone. I think something wrong with nsis templates.
Hack solution (good once for oneClick):
"nsis": {
"guid": "MyAppName",
"include": "build/installer.nsh",
},
build/installer.nsh listing
!macro customInit
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\MyAppName"
!macroend
@BusinessDuck I tried to remove the UninstallString key but doing so makes Windows think my app has already been uninstalled so the program is removed from the control panel without being actually uninstalled
use !macro customUnInstall instead
Building with MacOS Catalina 10.15.4 and experiencing the same issues on Windows.
Custom removal in nsis scripts didn't worked at all (was not triggered).
When building the installer from Windows machine everything works well...
I'm also experiencing the same issues -- building on Windows for Windows works fine.
This problem exists in many electron-builder versions, and has not been fixed until now. just try a hack, and modify electron-builder source code:

comment code and throw error so that electron-builer can builds installer by parallels vm.
The source code maybe from node_modules/app-builder-lib/out/targets/nsis/NsisTarget.js or node_modules/electron-builder/node_modules/app-builder-lib/out/targets/nsis/NsisTarget.js
The hint come from here
same issue
Same issue!
Any solution or workaround?
Build your Windows installer in a docker container. Their docs mention how
to do this.
On Sun, 9 Aug 2020, 04:14 simple, notifications@github.com wrote:
Same issue!
Any solution or workaround?—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/electron-userland/electron-builder/issues/4875#issuecomment-670999966,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOLPJ7GYXV6G57GP5W4L3YTR7YICHANCNFSM4MIAH6WQ
.
Is this still relevant? If so, what is blocking it? Is there anything you can do to help move it forward?
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.
same issue here. :(
same issue
Same here. I use /NCRC to uninstall it, works fine for me.
Same here. I worked around it by building "on Windows" with the electronuserland/builder:wine Docker image on MacOS, more info here: https://www.electron.build/multi-platform-build#build-electron-app-using-docker-on-a-local-machine. The script I'm using:
docker run --rm \
--env-file <(env | grep -vE '\r|\n' | grep -iE 'DEBUG|NODE_|ELECTRON_|YARN_|NPM_|CI|CIRCLE|TRAVIS_TAG|TRAVIS|TRAVIS_REPO_|TRAVIS_BUILD_|TRAVIS_BRANCH|TRAVIS_PULL_REQUEST_|APPVEYOR_|CSC_|GH_|GITHUB_|BT_|AWS_|STRIP|BUILD_') \
--env ELECTRON_CACHE="/root/.cache/electron" \
--env ELECTRON_BUILDER_CACHE="/root/.cache/electron-builder" \
-v ${PWD}:/project \
-v ${PWD}/docker-node-modules:/project/node_modules \
-v ~/.cache/electron:/root/.cache/electron \
-v ~/.cache/electron-builder:/root/.cache/electron-builder \
electronuserland/builder:wine \
/bin/bash -c "yarn --link-duplicates --pure-lockfile && yarn electron:publish"
Most helpful comment
Hack solution (good once for oneClick):