Building WiiLink Patcher from source is useful if you want to verify the code before running it, contribute changes, or produce a custom build for a specific platform. The project ships ready-to-use build scripts for both Windows (PowerShell) and Linux/macOS (Bash), and every step below uses tooling that is freely available.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/WiiLink24/WiiLink24-Patcher/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Before you build, make sure the following are installed on your system:- .NET 9 SDK — version 9.0.103 or later is required.
- Git — to clone the repository.
Build Scripts
The recommended way to build the project is through the provided platform scripts. They handle thedotnet publish invocation and name the output binary automatically.
- Windows (PowerShell)
- Linux / macOS (Bash)
| Flag | Alias | Description |
|---|---|---|
-b <platform> | --build <platform> | Build for a specific platform identifier |
-n | --nightly | Mark the build as a nightly release |
-v <version> | --version <version> | Set the version string (e.g. v213 for 2.1.3) |
-h | --help | Show usage help and exit |
When
-n / --nightly is used, a version string is required via -v / --version. The version must start with v followed by a number (e.g. v100 for 1.0.0, v213 for 2.1.3).Platform Identifiers
Pass one of the following identifiers to-b / --build to target a specific platform:
| Platform ID | Description |
|---|---|
win-x64 | Windows 64-bit |
win-x86 | Windows 32-bit |
win-arm64 | Windows ARM64 |
osx-x64 | macOS Intel 64-bit |
osx-arm64 | macOS Apple Silicon |
linux-x64 | Linux 64-bit |
linux-arm64 | Linux ARM 64-bit |
linux-arm | Linux ARM 32-bit |
When no platform is specified, the build scripts compile for all eight platforms listed above in sequence.
Manual Build with dotnet CLI
If you prefer to invoke the compiler directly, usedotnet publish with the Release configuration and the desired runtime identifier. The /p:AssemblyName property controls the output executable name.
linux-x64 and the assembly name suffix with the platform you are targeting. For example, to build for Windows 64-bit:
Build Output
After a successful build, the finished executable is placed under:linux-x64 build lands at:
- libWiiSharp.dll — bundled local reference for WAD manipulation
- Newtonsoft.Json 13.0.3
- Spectre.Console 0.47.0
- VCDiff 4.0.1
xdg-open or open respectively.
macOS arm64 binaries built on non-Apple hardware must be code-signed on Mac hardware before they will launch on Apple Silicon Macs. Build the
osx-arm64 target on a real Mac and sign the binary there, or instruct end users to install Rosetta and use the osx-x64 build in the meantime.