Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Struggling with getting Fuses packaged #8774

Open
JulieMarie opened this issue Jan 16, 2025 · 7 comments
Open

Struggling with getting Fuses packaged #8774

JulieMarie opened this issue Jan 16, 2025 · 7 comments

Comments

@JulieMarie
Copy link

I need to switch some of the fuses for our app and we currently use electron-builder v25.1.8 with all our configuration in electron-builder.yml file. I added in the fuses like such:

appId: 'com.aaa.bbb.ccc'
productName: 'App Name'

directories:
  output: '../../dist/release/${channel}'
  buildResources: build
generateUpdatesFilesForAllChannels: true
buildDependenciesFromSource: true
electronFuses: {
  runAsNode: true,
  enableCookieEncryption: true,
  enableNodeOptionsEnvironmentVariable: true,
  enableNodeCliInspectArguments: true,
  enableEmbeddedAsarIntegrityValidation: false,
  onlyLoadAppFromAsar: false,
  loadBrowserProcessSpecificV8Snapshot: false,
  grantFileProtocolExtraPrivileges: false
}

And I'm getting this:
Image

I've been scouring the documentation and looking at the documentation here: https://www.electron.build/configuration.html#properties and here: https://www.electron.build/app-builder-lib.interface.configuration#electronfuses as well as this issue: #6365 and I'm just not following. I'm not worried (yet) about enableEmbeddedAsarIntegrityValidation just yet, I'm just trying to get the easy stuff set first.

Any suggestions on where to look please?

@mmaietta
Copy link
Collaborator

The last comment of #6365 specifies the electron-builder to use. 🙃 I would recommend using the latest build under next npm tag

Related note, the documentation site is always of the next tag of electron-builder. I haven't been able to figure out how to manage multiple release versions within the docs UI (yet) since the site assets are ephemeral (fresh build every release) and not stored in this monorepo

@JulieMarie
Copy link
Author

JulieMarie commented Jan 17, 2025

I did see that Mike, but I can't use alpha releases. So that means there's no way with released electron-builder to set the easy fuses?

Or can I do something like theogravity did here? I apologize for asking questions that may be obvious to others, but I'm not normally involved in the building of the application and I'm trying to understand how all the working parts go together.

@mmaietta
Copy link
Collaborator

We should be exiting alpha stage soon. I just did a release to include the latest electron/asar fixes, so just waiting for that to be adopted more to make sure all is fine.

The other items remaining for me to do to exit alpha are:

  • upgrade wine in docker image
  • upgrade docker images to jammy from focal since focal EOL is April '25 https://ubuntu.com/about/release-cycle
  • refactor GHA pipeline to handle matrix docker builds (with the above upgrades ^, it currently hits "out of space on device" error trying to build every image for every node LTS version supported, on one runner)
  • update electron-builder to node 22 (note: this is separate from electron-updater) in order to adopt updates/fixes from @electron/* packages https://www.electronjs.org/blog/ecosystem-node-22
  • as such, a new node 22 image needs to be built now too

I'm working to get all these each completed ASAP 🙃

@mmaietta
Copy link
Collaborator

Update: All the above have been completed 🔨

Will probably exit alpha in a week or so. Would like to field any issues that get reported with the updated docker images.

@JulieMarie
Copy link
Author

Thanks for all of this! I'l definitely try it out once it exits alpha!

@JulieMarie
Copy link
Author

Hey @mmaietta, I did get the fuses to work as expected when using v26.0.0-alpha.10 so that's fantastic. I have a question about signing for Windows. We used to have this set:

win:
  sign: './sign.js'
  signDlls: true

but it looks like the options have changed. I changed it to:

win:
  signtoolOptions: {
    sign: './sign.js',
  }

which worked, but don't know if I can safely ignore signDlls? Does that happen by default now? Or?

@mmaietta
Copy link
Collaborator

signDlls was deprecated a while ago in favor of signExts to allow specifying a string[] of extensions to be signed.
https://www.electron.build/app-builder-lib.interface.windowsconfiguration#signexts

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants