Open
Description
Description
The check for wine executable is incorrect. When installing wine, we use the wine metapackage wine
. It only installs wine64 behind the scenes.
windows-installer/src/index.ts
Lines 38 to 53 in 937bf3f
windows-installer/src/index.ts
Lines 28 to 31 in 937bf3f
x64
-> check for wine64 -> not found -> fail
Meanwhile
$ which wine
/usr/bin/wine
$ which wine64
$ apt search wine | grep wine
[...]
wine/stable,now 8.0~repack-4 all [installed] <- we install this metapackage
wine-binfmt/stable 8.0~repack-4 all
wine64/stable,now 8.0~repack-4 amd64 [installed,automatic] <- we get this
Expected
npm run make -- --platform win32
no wine or mono error
Actual
You must install both Mono and Wine on non-Windows
Proposed Solution
The proposal is to not trouble ourselves with it too much unless there is a real reason we need to make sure 64-bit has 64-bit and 32 has 32. But couldn't a 64-bit user have a 32-bit copy anyway..?
const wineExe = "wine";
const wine64Exe = "wine64";
///
// Promise.all would be helpful if we were trying to combine these promises into one... but we aren't
const hasWine = await checkIfCommandExists(wineExe);
const hasWine64 = await checkIfCommandExists(wine64Exe);
const hasMono = await checkIfCommandExists(monoExe);
if (!(hasWine || hasWine64) || !hasMono) {
throw new Error('You must install both Mono and Wine on non-Windows');
}
Environment
Debian 12
$ uname -r
5.15.146.1-microsoft-standard-WSL2
$ node
> process.arch
x64
Metadata
Metadata
Assignees
Labels
No labels