electron / electron/forge

You must install both Mono and Wine on non-Windows

Open
#3,778 4 comments 0 reactions 0 assignees View on GitHub
bug maker/squirrel platform/windows
Dominant language
TypeScript
Stars
7.1k
Forks
641
Avg merge
3d 1h
Merged PRs (30d)
30

Description

### Pre-flight checklist

- [x] I have read the [contribution documentation](https://github.com/electron/forge/blob/main/CONTRIBUTING.md) for this project.
- [x] I agree to follow the [code of conduct](https://github.com/electron/electron/blob/main/CODE_OF_CONDUCT.md) that this project uses.
- [x] I have searched the issue tracker for a bug that matches the one I want to file, without success.

### Electron Forge version

7.6.0

### Electron version

v33.2.1

### Operating system

Linux Mint 22

### Last known working Electron Forge version

_No response_

### Expected behavior

`npm run make -- --platform win32` should make a windows installer.

### Actual behavior

Already installed `wine32` and `mono-xsp4` using `sudo dpkg --add-architecture i386 && sudo apt install wine32 mono-xsp4`, but error implies one or both is not installed.

```
~/Documents/Projects/Node/worldbuilder$ npm run make -- --platform win32

> worldbuilder@1.0.0 make
> electron-forge make --platform win32

✔ Checking your system
✔ Loading configuration
✔ Resolving make targets
› Making for the following targets:
✔ Running package command
✔ Preparing to package application
✔ Running packaging hooks
✔ Running generateAssets hook
✔ Running prePackage hook
✔ Packaging application
✔ Packaging for x64 on win32 [10s]
✔ Running postPackage hook
✔ Running preMake hook
❯ Making distributables
✖ Making a squirrel distributable for win32/x64
› You must install both Mono and Wine on non-Windows
◼ Running postMake hook

An unhandled rejection has occurred inside Forge:
Error: You must install both Mono and Wine on non-Windows
at /home/guy/Documents/Projects/Node/worldbuilder/node_modules/electron-winstaller/lib/index.js:128:31
at step (/home/guy/Documents/Projects/Node/worldbuilder/node_modules/electron-winstaller/lib/index.js:56:23)
at Object.next (/home/guy/Documents/Projects/Node/worldbuilder/node_modules/electron-winstaller/lib/index.js:37:53)
at fulfilled (/home/guy/Documents/Projects/Node/worldbuilder/node_modules/electron-winstaller/lib/index.js:28:58)
```

My `forge.config.js`:

```js
const { FusesPlugin } = require('@electron-forge/plugin-fuses');
const { FuseV1Options, FuseVersion } = require('@electron/fuses');

module.exports = {
packagerConfig: {
asar: true,
},
rebuildConfig: {},
makers: [
{
name: '@electron-forge/maker-squirrel',
config: {
icon: "icons/icon.ico"
},
}
],
plugins: [
{
name: '@electron-forge/plugin-auto-unpack-natives',
config: {},
},
// Fuses are used to enable/disable various Electron functionality
// at package time, before code signing the application
new FusesPlugin({
version: FuseVersion.V1,
[FuseV1Options.RunAsNode]: false,
[FuseV1Options.EnableCookieEncryption]: true,
[FuseV1Options.EnableNodeOptionsEnvironmentVariable]: false,
[FuseV1Options.EnableNodeCliInspectArguments]: false,
[FuseV1Options.EnableEmbeddedAsarIntegrityValidation]: true,
[FuseV1Options.OnlyLoadAppFromAsar]: true,
}),
],
};
```

### Steps to reproduce

Install `wine32` and `mono-xsp4` using `sudo dpkg --add-architecture i386 && sudo apt install wine32 mono-xsp4`, then run `npm run make -- --platform win32` on linux.

### Additional information

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.