Windows system requirements

The Windows binary uses only the DLLs that the tarball bundles. Both the clang/MinGW build and the native MSYS2 build link to keep the dependency surface small for the user.

Tested Windows editions

Operating system

Architecture

Support

Windows 11

x86_64

+ (T)

Windows 10 (22H2)

x86_64

+

Windows Server 2022

x86_64

+

Windows Server 2019

x86_64

+

Windows Server 2016

x86_64

+

Windows 8 / 8.1

x86_64

untested

Windows 7

x86_64

untested

(T) marks the edition exercised by the Jenkins matrix (through Wine on Linux nodes, plus periodic manual runs on a real Windows host).

Visao supports Windows 11, Windows 10 (22H2) and Windows Server 2016, 2019 and 2022, on the x86_64 architecture.

Optional installs

The analyser does not need anything beyond the unpacked tarball, but the following install lets it do more:

  • Any toolchain that --update-toolchains can probe. Visao searches LLVM under C:\Program Files\LLVM\bin\, MSYS2 under C:\msys64\mingw64\bin\, and the directories of PATH. The analyser also runs through --compiler-path for one invocation.

  • Visual C++ build tools for the analysis of MSVC-style projects. Pair with --winkit and --vctools per invocation (see Run on Windows for the exact form).

  • graphviz (dot.exe) on PATH, needed by --dep-graph-out-png. With dot.exe on PATH, the analyser writes the .dot source and renders the PNG.

Terminal

Colour output expects a VT-aware terminal. On Windows 10 1909+ and Windows 11, both conhost and the Windows Terminal support virtual terminal sequences. The default colour layer works there without configuration. On other terminals, pass --no-color or set NO_COLOR=1.

PowerShell and cmd.exe both work; PowerShell is preferred because its quoting is less likely to mangle paths with backslashes.

UTF-8

The analyser emits UTF-8 (filenames, report messages, status icons ✓ / ✗). Modern Windows terminals handle this; if output looks garbled, enable system UTF-8 support:

Settings → Time & Language → Language → Administrative language settings → Change system locale → check Beta: Use Unicode UTF-8 for worldwide language support.

As an alternative, set the active code page for the session:

chcp 65001

Permissions

The binary needs read access to source files and write access to the user’s %APPDATA%\visao\ (for the toolchain cache file). No registry writes and no installer are required. Tarball extraction is the supported install method.

If running as a Windows service, ensure the service account has write access to wherever %APPDATA% resolves to (typically C:\Windows\System32\config\systemprofile\AppData\Roaming\ for LocalSystem services). Setting the XDG_CONFIG_HOME environment variable for the service redirects the cache location explicitly.

Wine

The Windows binary runs under Wine without special configuration. The project CI validates the Windows binaries on Linux nodes this way. Use Wine 9.0 or later.