electron / forge

:electron: A complete tool for building and publishing Electron applications
https://electronforge.io
MIT License
6.48k stars 514 forks source link

Building for platform win32 on macOS with ARM64 fails #2683

Open clstaudt opened 2 years ago

clstaudt commented 2 years ago

Pre-flight checklist

Electron Forge version

6.0.0-beta.63

Electron version

v16.0.7

Operating system

macOS 11.6.2

Last known working Electron Forge version

No response

Expected behavior

Application for platform win32 should build.

Actual behavior

>   npx electron-forge make --arch=x64 --platform=win32
✔ Checking your system
✔ Resolving Forge Config
We need to package your application before we can make it
✔ Preparing to Package Application for arch: x64
✔ Preparing native dependencies
✔ Packaging Application
Making for the following targets: squirrel
✖ Making for target: squirrel - On platform: win32 - For arch: x64

An unhandled error has occurred inside Forge:
An error occured while making for target: squirrel
spawn mono ENOENT
Error: spawn mono ENOENT
    at Process.ChildProcess._handle.onexit (node:internal/child_process:282:19)
    at onErrorNT (node:internal/child_process:475:16)
    at processTicksAndRejections (node:internal/process/task_queues:83:21)

Steps to reproduce

  1. start from electron-forge template on macOS (ARM64)
  2. attempt to build for platform win32 and arch x86.

Additional information

No response

iviaks commented 2 years ago

Hey This issue appears inside electron-winstaller https://github.com/electron/windows-installer/issues/386

I had the same issue but it's fixable manually.

  1. Open ./node_modules/electron-winstaller/vendor
  2. Copy 7z-x64. files as 7z. (fe, 7z-x64.exe => 7z.exe)
  3. Try to build it again
alusnickic commented 2 years ago

If you want to build a windows app on Mac or Linux OS, you need to install wine and mono. In your case, the mono is missing.

hiukky commented 2 years ago

Same problem building on Windows 11.

JakeSidSmith commented 2 years ago

I was running into this same issue on MacOS Monterey 12.3.1 on my MacBook Air (M1, 2020).

After installing mono I get past the above mentioned errors, but it seems to hang on:

Making for target: squirrel - On platform: win32 - For arch: x64

Electron version: 16.2.8 Electron force version: 6.0.0-beta.64

It's been running for 15 minutes now with no changes... gave up and switched to electron-builder which just seems to work without installing anything extra.

Suthiphong commented 1 year ago

Hey This issue appears inside electron-winstaller electron/windows-installer#386

I had the same issue but it's fixable manually.

  1. Open ./node_modules/electron-winstaller/vendor
  2. Copy 7z-x64. files as 7z. (fe, 7z-x64.exe => 7z.exe)
  3. Try to build it again

work for me