Webcord crashes at the installation on Windows 11
Acknowledgements
-
[X] I have checked that there is no other issue describing the same or similar problem that I currently have, regardless if it has been closed or open.
-
[ ] This bug affects Discord website.
-
[X] This issue is confirmed to be reproducible when WebCord is packaged on at least all three latest supported Electron major releases.
-
[ ] This issue is reproducible in Chrome, Chromium or any Chromium-based browser, e.g Brave or Edge (please write in Additional Context which browser you have used if it is neither Chrome nor unmodified Chromium).
-
[X] There are no fixes done to
masterwhich resolves this issue. -
[ ] My issue describes one of the unstable and/or not fully implemented features.
-
[ ] I have found a workaround to mitigate or temporarily fix this issue in affected releases (please write it in Additional context section below).
Operating System / Platform
🪟️ Windows
Operating system architecture
x64
Electron version
The latest which is used by Webcord
Application version
v.4.4.0 up to v4.5.0
Bug description
Webcord crashes on installation without finishing it
Additional context
No response
TL;DR: Squirrel sucks.
This was discussed somewhere before. And in reality it doesn't crash, it just doesn't have any installation logic that Squirrel expects for it to have. And no, I don't know if I'll be handling it any time soon, I'm strongly against bundling the large chunk of the code for installation logic that's pretty much useless in other bundles than Squirrel or platforms. So most likely I'll ditch Squirrel for NSIS installer if I'll do ones as part of ReForged (or someone will do a high-quality maker before, either be it official or unofficial ones).
And in general WebCord should be installed automatically by Squirrel to %appdata%.
Eventually, I could dig for some hook in Forge, maybe like preMake, that runs on packaged app (i.e. WebCord's transpiled code + Electron binary) and would either add or remove the Squirrel logic from the code based whenever currently Squirrel is being built or not, but this kind of hook should be run always before making any kind of distributable, so it can prepare the package correctly even when making different distributables.