forge: Does Forge plan to replace squirrel-windows with NSIS (or other alternatives) like Electron-Builder has done given squirrel is not being actively maintained?

Pre-flight checklist

  • I have read the contribution documentation for this project.
  • I agree to follow the code of conduct that this project uses.
  • I have searched the issue tracker for a feature request that matches the one I want to file, without success.

Problem description

Electron-builder suggests using NSIS for windows builds instead of Squirrel: https://www.electron.build/configuration/squirrel-windows.html

Squirrel.Windows target is maintained, but deprecated. Please use nsis instead.

image

https://github.com/Squirrel/Squirrel.Windows/issues/1470

Proposed solution

Add capability like NSIS to replace squirrel for windows.

I have also noticed some issues with squirrel for windows and especially that it is super slow to make a build for our app (compared to building for Mac).

Thanks!

Alternatives considered

Following electron-builder which offers option to use NSIS.

Additional information

No response

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Reactions: 3
  • Comments: 16 (6 by maintainers)

Most upvoted comments

…making sure ASAR is on…

@MarshallOfSound I missed this excerpt in your message earlier but it appears we had ASAR set to false. When I turned it to true then our build time went down to under 3 minutes!! 🎉

Excuse my ignorance but I noticed that Electron packager sets ASAR to false by default. Is there a reason for this? Is there any downside we need to think about when setting ASAR to true? From my limited knowledge it would seem obvious to set ASAR to true but I then wonder why that isn’t the default?

Thanks so much!

Electron-builder suggests using NSIS for windows builds instead of Squirrel: https://www.electron.build/configuration/squirrel-windows.html

Electron builder made this determination with no community involvement and in fact long before the “looking for contributors” message was posted on Squirrel.Windows. The project is definitely not deprecated, archived or dead in any way. Commits were landing as recently as September.

“Actively Maintained” is a very opinionated / qualitative determination, personally Squirrel.Windows Works ™️ for the 99% case, is still used by some of the largest electron apps (slack, msft projects, etc.) and given that any significant issues will be dealt with.

That said, Forge currently supports MSI based distributions (backed by Wix) which is a more “enterprisey” deployment platform and Windows Store distributions for those that want to ship things through the store (bonus of no worrying about updaters).

If we were to add support for another Windows target it would probably be MSIX rather than something like NSIS.

I have also noticed some issues with squirrel for windows and especially that it is super slow to make a build for our app (compared to building for Mac).

The worst case I have seen is a few minutes, which honestly isn’t the end of the world and will be improved in upcoming Squirrel versions that have newer compression libraries.

I’d also note a key difference maker here is that Forge is designed so that if you wanted to, you can very easily both write and publish your own “make” target. See our docs on writing your own maker.

The TLDR is I don’t see NSIS on our immediate plans, a community maker for NSIS is very possible, our next potential target for windows is probably MSIX.