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

Build fails with latest electron-builder version #288

Closed
GeorgDangl opened this issue Jul 11, 2019 · 21 comments
Closed

Build fails with latest electron-builder version #288

GeorgDangl opened this issue Jul 11, 2019 · 21 comments
Assignees
Labels
Milestone

Comments

@GeorgDangl
Copy link

  • Version: 5.22.13
  • Target: Windows

Steps to Reproduce:

Performing a regular build with

electronize build /target win

fails since the BuildCommand seems to pass invalid CLI arguments to electron-builder.

I'm getting the following output:

C:\Project\obj\desktop\win>electron-builder . --config=./bin/electron-builder.json --platform=win32 --arch=x64
cli.js build
Build
Building:
  --mac, -m, -o, --macos   Build for macOS, accepts target list (see
                           https://goo.gl/5uHuzj).                       [array]
  --linux, -l              Build for Linux, accepts target list (see
                           https://goo.gl/4vwQad)                        [array]
  --win, -w, --windows     Build for Windows, accepts target list (see
                           https://goo.gl/jYsTEJ)                        [array]
  --x64                    Build for x64                               [boolean]
  --ia32                   Build for ia32                              [boolean]
  --armv7l                 Build for armv7l                            [boolean]
  --arm64                  Build for arm64                             [boolean]
  --dir                    Build unpacked dir. Useful to test.         [boolean]
  --prepackaged, --pd      The path to prepackaged app (to pack in a
                           distributable format)
C:\Project\obj\desktop\win>
  --projectDir, --project  The path to project directory. Defaults to current
                           working directory.
  --config, -c             The path to an electron-builder config. Defaults to
                           `electron-builder.yml` (or `json`, or `json5`), see
                           https://goo.gl/YFRJOM
Publishing:
  --publish, -p  Publish artifacts, see https://goo.gl/tSFycD
                [choices: "onTag", "onTagOrDraft", "always", "never", undefined]
Other:
  --help     Show help                                                 [boolean]
  --version  Show version number                                       [boolean]
Examples:
  electron-builder -mwl                     build for macOS, Windows and Linux
  electron-builder --linux deb tar.xz       build deb and tar.xz for Linux
  electron-builder --win --ia32             build for Windows ia32
  electron-builder                          set package.json property `foo` to
  -c.extraMetadata.foo=bar                  `bar`
  electron-builder                          configure unicode options for NSIS
  --config.nsis.unicode=false
Unknown arguments: platform, arch

Please note how the BuildCommand passes arguments for platform and arch to electron-builder, both don't seem to be supported.

I've also noticed that the BuildCommand performs a global installation of electron-builder on each run, which results in always using the latest version. This seems very prone to similar errors like this due to future breaking changes in electron-builder.

Would it be possible to simply install electron-builder locally with a fixed version? That should also solve the problem of it not working on Linux. If you're OK with that, I'd be happy to provide a PR.

Btw, this is currently totally blocking for me and I don't have any workarounds😊

@GeorgDangl GeorgDangl added the bug label Jul 11, 2019
@fabio-basedev
Copy link

Hi! I have same problem! Its the first time that I trying Electron.NET and I can't generate executable of my application...
@GeorgDangl, changing to old version will work?

@GeorgDangl
Copy link
Author

@fabio-basedev, as far as I can tell, an older version won't help you either since it's internally calling the electron-builder npm package, which is always installed in the latest version:)

@denisHordienko
Copy link

I think the problem with https://www.npmjs.com/package/electron-builder version 21.* if update command "npm install electron-builder --global" to "npm install electron-builder@20.44.4 --global" application will be created as usual

@denisHordienko
Copy link

@GeorgDangl steps for a workaround

  1. clone CLI project
  2. update line https://github.com/ElectronNET/Electron.NET/blob/master/ElectronNET.CLI/Commands/BuildCommand.cs#L114 by the command npm install electron-builder@20.44.4 --global"
  3. publish CLI
  4. move electronize.dll from publish directory to folder with dotnet tools %user%.dotnet\tools.store\electronnet.cli\5.22.13\electronnet.cli\5.22.13\tools\netcoreapp2.1\any

GeorgDangl added a commit to GeorgDangl/Electron.NET that referenced this issue Jul 11, 2019
@GeorgDangl
Copy link
Author

@denisHordienko, thanks for the input!

I've created PR #289 with the fix. Looking forward to feedback!

@fabio-basedev
Copy link

@denisHordienko, thanks for the input!

I've created PR #289 with the fix. Looking forward to feedback!

Awesome! Here works like a charm!

Thanks!

@robalexclark
Copy link

Arghh - I can't use this fix as I'm building my releases on Azure DevOps. Any ideas when a fix will be applied to the nuget packages / Electron.net global tools?

@GeorgDangl
Copy link
Author

@robalexclark, it's the same for me in my CI builds. I think you could do automate the replacement for the changed binaries in the CI environment, but that's a route I wouldn't want to go😉

@robertmuehsig, @GregorBiswanger, do you have an ETA for how fast you can merge this PR and create a new release? If you're not available, I can upload a fork with the fix to NuGet to be used as temporary workaround.

@GeorgDangl
Copy link
Author

Hey guys, I've uploaded a temporary package with the hotfix: ElectronNET.CLI-hotfix.

You can install it via

dotnet tool install ElectronNET.CLI-hotfix -g

and just use electronize-hotfix instead of electronize. I've just tried it in one of my CI builds, I've been able to generate the app, so everything seems to work for now.

@GregorBiswanger
Copy link
Member

@GeorgDangl Thank you very much for your support!

We will gladly accept your PR. I think additional NuGet packages would only irritate.

For the new version, however, I have time until next week.

@rakista112
Copy link

rakista112 commented Jul 16, 2019

I can't seem to make this work. I still get the error
Unhandled Exception: System.AggregateException: One or more errors occurred. (The given key 'target' was not present in the dictionary.)
Screen Shot 2019-07-16 at 6 17 49 PM

UPDATE: the hotfix worked in CMD. I used the original electronize and it had this bit at the end.
Screen Shot 2019-07-16 at 6 52 06 PM

@robalexclark
Copy link

Hi - Any news on when updated nuget packages and tools will be published? My CI pipeline is not longer continuous...

@GeorgDangl
Copy link
Author

Hi @robalexclark, I‘ve published the ElectronNET.CLI-hotfix Package on NuGet last week, see my comment a few posts above. You should be able to use this in the meantime.

@GregorBiswanger
Copy link
Member

Hey Community,
my wife was operated on the knee and my son has a high fever today. Next week Thursday I will have full time for Electron.NET again and I will get a new update going.

@GeorgDangl
Copy link
Author

Hey @GregorBiswanger, no worries, sometimes there are more important things. Thank you for the great work you're doing with Electron.NET, I really appreciate it!

@rakista112
Copy link

@GregorBiswanger I agree with @GeorgDangl , family comes first.

@rakista112
Copy link

rakista112 commented Jul 22, 2019

RESOLVED

@GeorgDangl I'm currently using your hotfix as Chrome doesn't open using the original electronize.

With your hotfix, Chrome opens and my javascript runs but I encountered a problem during startup.
This error regarding service worker registration comes up in the console.

Is there a fix for this?
Screen Shot 2019-07-22 at 6 01 29 PM

@GeorgDangl
Copy link
Author

Hi @rakista112, unfortunately, I have no idea what's causing this. All I did was create a NuGet package that includes PR #289 and released it. Do you have any idea where the relevant bits of the code are? I'm not yet familiar with the Electron.NET codebase.

@rakista112
Copy link

rakista112 commented Jul 22, 2019

RESOLVED

@GeorgDangl oh it seems to be caused by my Vue build. Nothing to do with Electron. I'll just mark my comments as resolved.

@GregorBiswanger
Copy link
Member

I implemented the support for the newest electron-builder.
The next update 5.22.14 will support it.

@asjad-m
Copy link

asjad-m commented Jan 27, 2021

Build Electron Application...
Build ASP.NET Core App for osx-x64...
Executing dotnet publish in this directory: /Users/dotnetteam/Desktop/Electron.NET/obj/desktop/osx
Build ASP.NET Core App for osx-x64 under Release-Configuration...
Microsoft (R) Build Engine version 15.9.20+g88f5fadfbe for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.
Restore completed in 165.2 ms for /Users/dotnetteam/Desktop/Electron.NET/DAL/DAL.csproj.
Restore completed in 73.82 ms for /Users/dotnetteam/Desktop/Electron.NET/PrintShop/PrintShop.csproj.
Restore completed in 113.01 ms for /Users/dotnetteam/Desktop/Electron.NET/BLL/BLL.csproj.
Restore completed in 192.43 ms for /Users/dotnetteam/Desktop/Electron.NET/Entities/Entities.csproj.
Restore completed in 39.12 ms for /Users/dotnetteam/Desktop/Electron.NET/ServiceModel/ServiceModel.csproj.
Restore completed in 12.1 ms for /Users/dotnetteam/Desktop/Electron.NET/PSReadyMadeUtility/PSReadyMadeUtility.csproj.
Restore completed in 11.32 ms for /Users/dotnetteam/Desktop/Electron.NET/Project/Project.csproj.
Restore completed in 16.82 ms for /Users/dotnetteam/Desktop/Electron.NET/Utilities/Utilities.csproj.
PSReadyMadeUtility -> /Users/dotnetteam/Desktop/Electron.NET/PSReadyMadeUtility/bin/Release/netcoreapp2.2/PSReadyMadeUtility.dll
ServiceModel -> /Users/dotnetteam/Desktop/Electron.NET/ServiceModel/bin/Release/netcoreapp2.2/ServiceModel.dll
PSReadyMadeUtility -> /Users/dotnetteam/Desktop/Electron.NET/PSReadyMadeUtility/bin/Release/netcoreapp2.2/osx-x64/PSReadyMadeUtility.dll
Utilities -> /Users/dotnetteam/Desktop/Electron.NET/Utilities/bin/Release/netcoreapp2.2/osx-x64/Utilities.dll
ServiceModel -> /Users/dotnetteam/Desktop/Electron.NET/ServiceModel/bin/Release/netcoreapp2.2/osx-x64/ServiceModel.dll
PSReadyMadeUtility -> /Users/dotnetteam/Desktop/Electron.NET/obj/desktop/osx/bin/
ServiceModel -> /Users/dotnetteam/Desktop/Electron.NET/obj/desktop/osx/bin/
Utilities -> /Users/dotnetteam/Desktop/Electron.NET/obj/desktop/osx/bin/
Utilities -> /Users/dotnetteam/Desktop/Electron.NET/Utilities/bin/Release/netcoreapp2.2/Utilities.dll
Entities -> /Users/dotnetteam/Desktop/Electron.NET/Entities/bin/Release/netcoreapp2.2/osx-x64/Entities.dll
Entities -> /Users/dotnetteam/Desktop/Electron.NET/obj/desktop/osx/bin/
Entities -> /Users/dotnetteam/Desktop/Electron.NET/Entities/bin/Release/netcoreapp2.2/Entities.dll
Project -> /Users/dotnetteam/Desktop/Electron.NET/Project/bin/Release/netcoreapp2.2/osx-x64/Project.dll
Project -> /Users/dotnetteam/Desktop/Electron.NET/obj/desktop/osx/bin/
Project -> /Users/dotnetteam/Desktop/Electron.NET/Project/bin/Release/netcoreapp2.2/Project.dll
DAL -> /Users/dotnetteam/Desktop/Electron.NET/DAL/bin/Release/netcoreapp2.2/DAL.dll
DAL -> /Users/dotnetteam/Desktop/Electron.NET/DAL/bin/Release/netcoreapp2.2/osx-x64/DAL.dll
DAL -> /Users/dotnetteam/Desktop/Electron.NET/obj/desktop/osx/bin/
BLL -> /Users/dotnetteam/Desktop/Electron.NET/BLL/bin/Release/netcoreapp2.2/osx-x64/BLL.dll
BLL -> /Users/dotnetteam/Desktop/Electron.NET/obj/desktop/osx/bin/
BLL -> /Users/dotnetteam/Desktop/Electron.NET/BLL/bin/Release/netcoreapp2.2/BLL.dll
PrintShop -> /Users/dotnetteam/Desktop/Electron.NET/PrintShop/bin/Release/netcoreapp2.2/osx-x64/PrintShop.dll
PrintShop -> /Users/dotnetteam/Desktop/Electron.NET/PrintShop/bin/Release/netcoreapp2.2/osx-x64/PrintShop.Views.dll
PrintShop -> /Users/dotnetteam/Desktop/Electron.NET/obj/desktop/osx/bin/
npm WARN ws@7.4.2 requires a peer of bufferutil@^4.0.1 but none is installed. You must install peer dependencies yourself.
npm WARN ws@7.4.2 requires a peer of utf-8-validate@^5.0.2 but none is installed. You must install peer dependencies yourself.
audited 243 packages in 2.938s
found 0 vulnerabilities
Start npm install electron-builder...
Electron Builder - make sure you invoke 'sudo npm install electron-builder --global' at /Users/dotnetteam/Desktop/Electron.NET/obj/desktop/osx manually. Sry.
ElectronHostHook handling started...
Build Electron Desktop Application...
Executing electron magic in this directory: /Users/dotnetteam/Desktop/Electron.NET/bin/desktop
Create electron-builder configuration file...
Package Electron App for Platform mac...
electron-builder build
Build
Building:
-m, -o, --mac, --macos Build for macOS, accepts target list (see
https://goo.gl/5uHuzj). [array]
-l, --linux Build for Linux, accepts target list (see
https://goo.gl/4vwQad) [array]
-w, --win, --windows Build for Windows, accepts target list (see
https://goo.gl/jYsTEJ) [array]
--x64 Build for x64 [boolean]
--ia32 Build for ia32 [boolean]
--armv7l Build for armv7l [boolean]
--arm64 Build for arm64 [boolean]
--dir Build unpacked dir. Useful to test. [boolean]
--prepackaged, --pd The path to prepackaged app (to pack in a
distributable format)
--projectDir, --project The path to project directory. Defaults to
current working directory.
-c, --config The path to an electron-builder config. Defaults
to electron-builder.yml (or json, or
json5), see https://goo.gl/YFRJOM
Publishing:
-p, --publish Publish artifacts, see https://goo.gl/tSFycD
[choices: "onTag", "onTagOrDraft", "always", "never", undefined]
Other:
--help Show help [boolean]
--version Show version number [boolean]
Examples:
electron-builder -mwl build for macOS, Windows and Linux
electron-builder --linux deb tar.xz build deb and tar.xz for Linux
electron-builder --win --ia32 build for Windows ia32
electron-builder set package.json property foo to
-c.extraMetadata.foo=bar bar
electron-builder configure unicode options for NSIS
--config.nsis.unicode=false
Unknown argument: .
... done

after this it do not even provides the build for application. @GregorBiswanger help me out in this regard.

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

No branches or pull requests

7 participants