electron / electron/forge

Unable to makes squirrel distributable for win32 on Debian

Open
#3,513 0 comments 0 reactions 0 assignees View on GitHub
bug maker/squirrel platform/linux
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

6.0.0-beta.75

### Electron version

v21.2.1

### Operating system

Debian 12

### Last known working Electron Forge version

_No response_

### Expected behavior

The packaging of the application and creation of the files:
- {appName} Setup.exe
- {appName}-full.nupkg
- RELEASES

As indicated [here](https://www.electronforge.io/config/makers/squirrel.windows).

### Actual behavior

When printing the wine version I get:
```shell
$ wine --version
wine-8.0 (Debian 8.0~repack-4)
```

But the following error message:
```shell
- Packaging complete
An unhandled rejection has occurred inside Forge:
Error: Wrapper command 'wine64' not found on the system. Consult your Linux distribution's package manager to determine how to install Wine.
Wine is required to use the appCopyright, appVersion, buildVersion, icon, and
win32metadata parameters for Windows targets.
```

### Steps to reproduce

I use GitLab-CI to build releases.
Using the `node:lts` image I have a script that used to work (2023) and looks like this:
```yaml
Build Windows App:
# https://www.electronforge.io/config/makers/squirrel.windows
stage: build
except:
- schedules
before_script:
- echo WINDOWS_JOB_ID=$CI_JOB_ID >> windows_executables.env
- apt update
- npm install
- apt-get install dpkg -y
- apt-get install fakeroot -y

# Requires `mono` and `wine
# Mono: https://www.mono-project.com/download/stable/#download-lin
- apt-get install ca-certificates gnupg
- gpg --homedir /tmp --no-default-keyring --keyring /usr/share/keyrings/mono-official-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
- echo "deb [signed-by=/usr/share/keyrings/mono-official-archive-keyring.gpg] https://download.mono-project.com/repo/ubuntu stable-focal main" | tee /etc/apt/sources.list.d/mono-official-stable.list

- apt-get update
- apt-get install mono-devel -y

# Wine: https://www.linuxcapable.com/how-to-install-wine-on-debian-linux/
- apt-get install software-properties-common apt-transport-https curl -y
- dpkg --add-architecture i386
- curl -fSsL https://dl.winehq.org/wine-builds/winehq.key | gpg --dearmor | tee /usr/share/keyrings/winehq.gpg > /dev/null
- echo deb [signed-by=/usr/share/keyrings/winehq.gpg] http://dl.winehq.org/wine-builds/debian/ $(lsb_release -cs) main | tee /etc/apt/sources.list.d/winehq.list
- apt-get update
- apt-get install wine64 wine32 -y
- wine --version

script:
- node --version
- npm --version
- node_modules/.bin/electron-forge --version
- node_modules/.bin/electron --version

# Replace placeholders by actual values
- sed -i "s/app_name/$APP_NAME/" ./package.json
- sed -i "s/app_version/$APP_VERSION/" ./package.json
- sed -i "s/app_version/$APP_VERSION/" ./forge.config.js
- npm run make -- --platform win32 --targets @electron-forge/maker-squirrel

artifacts:
paths:
- ./out/v$APP_VERSION/make/squirrel.windows/x64/
reports:
dotenv: windows_executables.env
```

### 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.