Skip to content

WinBridge ​

WinBridge is a command-line tool for Linux that builds Windows programs (.exe files) from your source code, checks that each result is a real Windows executable, and can run it on the same machine.

What it does ​

  • Builds for Windows from Linux. Point winbridge build at a project folder. WinBridge works out what kind of project it is and uses a compiler that can produce a Windows binary for it.
  • Checks every result. A build only counts as a success when the output file has a valid Windows PE32+ (64-bit x86) header. A misconfigured compiler cannot hand you a Linux binary by mistake.
  • Runs Windows programs. winbridge run app.exe starts a Windows program on Linux through a Wine runtime that WinBridge downloads and manages itself. Each app gets its own isolated Windows environment, called a prefix.
  • Builds installers. winbridge package turns your build output into a Windows setup program, and can sign it.
  • Uses a Windows virtual machine when nothing else works. Flutter apps can only be built on Windows, so WinBridge drives a Windows VM over SSH for those. The same VM can show a Windows-only app as a window on your Linux desktop.

Supported project types ​

ProjectDetected byHow it is built
Gogo.modgo build with GOOS=windows
RustCargo.tomlcargo build --target x86_64-pc-windows-gnu
.NET*.csproj or *.fsprojdotnet publish -r win-x64
C/C++CMakeLists.txt, a Makefile, or .c/.cpp fileszig cc, or MinGW-w64; MSVC ABI on request
Flutterpubspec.yaml with a Flutter dependencyflutter build windows on a Windows VM

Good to know

C/C++ support is partial. WinBridge compiles the source files in the project folder and in src/ directly. It does not run CMake or Make, so a project that only builds through one of those is reported as unsupported.

Who it is for ​

  • Developers on Linux who ship a Windows build of a command-line tool or desktop app.
  • People who want to try a Windows build on the machine they built it on, before sending it to a tester.
  • Teams whose build servers run Linux.

Platforms ​

WinBridge 0.4.0 runs on 64-bit x86 Linux (x86_64). It is distributed as a .deb package for Debian and Ubuntu, in the Dhiva Labs PPA for Ubuntu 24.04, and as a tarball for any distribution.

WinBridge is open source under the MIT licence. Report problems on the GitHub issues page.

Next steps ​