Documentation / Building from source

Building from source

WinDict is written in Rust, against the native Windows APIs. Building it needs Windows and a Rust toolchain, 1.88 or newer.

git clone https://github.com/BosioPietro/WinDict.git
cd WinDict
cargo build --release        # target\release\windict.exe and wd.exe
cargo test                   # unit tests, including the bundled dictionary
cargo clippy --all-targets -- -D warnings

Building the setup

The installer is built with Inno Setup from both builds of WinDict, the usual one and the one that can have UI access, and wd, put in dist:

mkdir dist
cargo build --release
copy target\release\windict.exe dist\WinDict.exe
copy target\release\wd.exe dist\wd.exe
cargo build --release --features uiaccess
copy target\release\windict.exe dist\WinDict-uiaccess.exe
iscc /DVersion=0.27.0 installer\windict.iss   # dist\WinDict-v0.27.0-inno.exe

The setup that's published carries that installer and runs it silently, from a window of its own or, given Inno Setup's switches as WinGet and “Update app” give them, without one. It's built with the installer's absolute path in WINDICT_SETUP:

$env:WINDICT_SETUP = (Resolve-Path dist\WinDict-v0.27.0-inno.exe).Path
cargo build --release --features setup --bin windict-setup   # target\release\windict-setup.exe

Contributing

Bug reports and ideas are welcome as issues on GitHub.

Something missing or wrong? Open an issue on GitHub.

© 2026 Bosio Pietro. WinDict is free and open source.

Windows is a trademark of Microsoft. WinDict isn't made or endorsed by Microsoft.