nuts icon indicating copy to clipboard operation
nuts copied to clipboard

How to release both x64 and ia32 versions for Windows

Open Kamahl19 opened this issue 8 years ago • 8 comments

Hi,

I need to release both 32 and 64bit versions for Windows, however I am not really sure how to name and upload assets to github release.

I have /installers folder with 2 folders /win32-x64 and /win32-ia32 . Both these folders contain RELEASE, setup.exe and nupkg files.

I can rename nupkg and and setup.exe to include the platform so app-x64.nupkg, setup-x64.exe and app-ia32.nupkg, setup-ia32.exe. But what should I do with the RELEASES file?

Thanks for help

Kamahl19 avatar Jan 12 '16 11:01 Kamahl19

Do you use https://github.com/mongodb-js/electron-installer-squirrel-windows?

If I understand correctly, you can simply ignore RELEASES file, but you should specify remote_releases — "URL to your existing updates. If given, these will be downloaded to create delta updates.".

BTW, I have created https://github.com/develar/electron-complete-builder (example artifcats — https://ci.appveyor.com/project/develar/onshape-desktop-shell/build/artifacts) but remote_releases is not yet supported.

develar avatar Jan 13 '16 09:01 develar

Hi, thanks for reply. I saw your project and have inspired by it, thanks.

I use grunt-electron-installer. I dont think I need remote_releases because I have all releases locally and it created delta updates just fine from them. Moreover I have private repo for this particular project and remote_releases are not supported for private repo yet, otherwise I would use them.

Are you sure I can ignore RELEASES file and dont upload it? Atom does it https://github.com/atom/atom/releases/tag/v1.3.3

Kamahl19 avatar Jan 13 '16 09:01 Kamahl19

@Kamahl19 I am wrong — RELEASES is required according to https://github.com/Squirrel/Squirrel.Windows/blob/master/docs/using/update-process.md So, I am also interested in solution.

develar avatar Jan 13 '16 09:01 develar

Maybe we should just append those 2 RELEASES files together and let squirrel solve that? Please let me know if you find the solution.

Kamahl19 avatar Jan 13 '16 10:01 Kamahl19

@Kamahl19 Still no answer from author. I will address this issue this week as part of my electron-complete-builder project. Or maybe you somehow already solved this problem?

develar avatar Feb 01 '16 11:02 develar

Sorry for the late response, but I currently don't have a perfect solution for this. We are not releasing 32bits versions of our application.

I'll take a look, but the solution looks like two have 2 RELEASES files:

  • RELEASES (for x64)
  • RELEASES_32 (for ia-32)

Then nuts should be able to serve the right one, with the right assets to Squirrel.Windows. I'm open to merge such a PR ;)

SamyPesse avatar Feb 01 '16 11:02 SamyPesse

My solution is to build with electron-builder with build.win.target option set to ["nsis", "squirrel"]

My package.json:

"build": {
    "win": {
      "target": [
        "nsis",
        "squirrel"
      ]
    }
}

Then I use this files with nuts:

  • the .exe installer build for x64 and ia32 (nsis version)
  • the .ngpkg, .exe and RELEASE files from directory "win" (the version for x64 build with squirrel)

So the installer support all windows platform and the auto-update for only x64 apps always works !

Hope this help.

popod avatar Sep 29 '16 09:09 popod

@popod thinks a lot man your solution help me ;)

outhmanetoudaoui avatar Apr 09 '17 03:04 outhmanetoudaoui