I am wondering why electron-forge is using Squirrel by default for Windows, while electron-build reports Squirrel as deprecated. Is that because the transition to NSIS should still be made or are there any other reasons to have Squirrel as default?
while electron-build reports Squirrel as deprecated
To be frank, that is a very misleading statement by the folks documenting over at electron-builder. Squirrel is no where close to being deprecated. I would claim that the majority of big Electron apps nowadays use Squirrel.Windows. Look at anything like Atom or Slack...
Is that because the transition to NSIS should still be made
IMO NSIS is a worse installation and user experience than Squirrel.Windows, and I don't see us adding first party support for it any time soon. You can, of course, use the NSIS target from electron-builder as a target in electron-forge but I see Squirrel.Windows as the way moving forward.
To be 100% clear, Squirrel.Windows is "deprecated" in electron-builder only. The maker of electron-builder has no involvement in the release or maintenance of Squirrel.Windows and definitely doesn't have the power to call it "deprecated". I will continue recommending Squirrel.Windows to anyone who asks me.
TLDR: Use Squirrel 馃槃
That is most clear, thank you!
@MarshallOfSound I got to running NSIS, because with Squirrel I have issues. The problem looks to be related to mono. I figured out that electron-winstaller is spawning a mono command. In particular the following command is ran on my system.
mono /workspace/vweb-app/node_modules/electron-winstaller/vendor/nuget.exe pack /home/frederik/Desktop/vweb_app.nuspec -BasePath /workspace/vweb-app/electron-out/vweb-app-win32-x64 -OutputDirectory /tmp/mono -NoDefaultExcludes
The output of that command is:
Attempting to build package from 'vweb_app.nuspec'.
Successfully created package '/tmp/mono/vweb_app.2.0.50.nupkg'
But that is not the end of the command. So it is not returning an output code (of 0). What can be the cause of that?
To others finding this: the solution is "asar": true in the electronPackagerConfig.
@MarshallOfSound Squirrel.Windows is officially deprecated now https://github.com/Squirrel/Squirrel.Windows. Does this mean we can finally get nsis support?
Please refer to https://github.com/electron/electron/issues/17722#issuecomment-481066436 for updates about the current Squirrel.Windows situation with regards to Electron.
That being said, apart from what @MarshallOfSound already stated earlier in this issue, the current policy of Electron Forge is that we don't add built-in installers unless there's a separate module with minimal dependencies that handles creating the distributable. If someone in the Electron community creates such a module, we will gladly review a pull request to integrate it into Forge directly.
So, for who's starting now, whats the best library to use nowadays?
Most helpful comment
To be frank, that is a very misleading statement by the folks documenting over at
electron-builder. Squirrel is no where close to being deprecated. I would claim that the majority of big Electron apps nowadays use Squirrel.Windows. Look at anything like Atom or Slack...IMO NSIS is a worse installation and user experience than Squirrel.Windows, and I don't see us adding first party support for it any time soon. You can, of course, use the NSIS target from
electron-builderas a target inelectron-forgebut I see Squirrel.Windows as the way moving forward.To be 100% clear, Squirrel.Windows is "deprecated" in
electron-builderonly. The maker ofelectron-builderhas no involvement in the release or maintenance of Squirrel.Windows and definitely doesn't have the power to call it "deprecated". I will continue recommending Squirrel.Windows to anyone who asks me.TLDR: Use Squirrel 馃槃