Install on Windows
The two Windows assets, the unknown-publisher prompt on an unsigned executable, one project folder, and the first launch.
Windows gets the desktop app, vike-desktop.exe, and vike-cli.exe, the command-line surface.
Both are cross-built for x86_64-pc-windows-gnu in the release's own windows job and need no
runtime shipped beside them. Expect five minutes: a download, a checksum, a folder, a double-click.
One desktop asset now, not two
The release used to publish vike-app.exe and vike-app-thin.exe — two feature resolutions of one
crate. There is one. The crate declares no features at all, the desktop mounts no venue and runs no
local trading core, and vike-desktop.exe is that build. A bookmark or runbook still naming
either old file names an asset the release no longer produces.
Requirements
A GPU with a Vulkan driver — the released binary was run on a Windows box and enumerated its real
Intel GPU through Vulkan — and the Segoe UI faces under C:\Windows\Fonts, which
vike_app_core::fonts looks for first. Details on Requirements.
No daemon, runner or data-service .exe is published: the release's host lane builds those for
Linux only. To run the backend on a Windows box, use the container —
Install with Docker. vike-cli.exe is the exception and
does ship, which is what lets an MCP client on this box launch vike-cli mcp as a local subprocess
— see Client setup. It still needs something to talk to: its backtest tools want
a vike-datahub server and its live tools a running node, neither of which has a Windows binary.
Steps
1. Download and verify
Take vike-desktop.exe, vike-cli.exe if you want the command line, and
SHA256SUMS from the release. The manifest
covers every asset, and the Windows lines are in it because the windows job wrote its own part
and the publish job verified that part before merging it. Check the file:
(Get-FileHash .\vike-desktop.exe -Algorithm SHA256).Hash
Select-String vike-desktop.exe .\SHA256SUMSThe executable is unsigned; expect the unknown-publisher prompt
The Windows job builds with cargo build and copies the result straight into the release; there
is no code-signing step, so Windows shows its SmartScreen prompt on first launch. The checksum
above is the verification, not the prompt.
2. Make the project folder
Every setting, credential and program-written file lives in one folder, and the binary finds it by
walking up from the working directory for the nearest settings\ directory
(crates/vike-model/src/state_path.rs's PROJECT_SETTINGS_DIR).
$R = 'C:\vike-trader'
New-Item -ItemType Directory -Force "$R\bin", "$R\settings\state\logs", "$R\market_data" | Out-Null
Copy-Item .\vike-desktop.exe "$R\bin\"bin\ is where the tools a project runs live (vike_model::state_path::PROJECT_BIN_DIR), so the
executable sits there and the walk from bin\ finds settings\ one level up. If you would rather
launch from anywhere, set VIKE_SETTINGS_DIR=C:\vike-trader\settings: it names the directory
outright and beats the walk.
3. First launch
Start it from the project root — a shortcut whose Start in is C:\vike-trader, or a terminal
cd'd there:
cd C:\vike-trader
.\bin\vike-desktop.exeThe window opens maximised, titled — live. Before it draws anything the app runs the one startup
sequence (vike_boot::boot): refuse a removed environment variable, resolve settings\ once, load
the credential store, load the four settings files, then log its build identity and what it
resolved. With an empty settings\ it starts on compiled-in defaults and every venue on paper —
absent credentials are the live gate. To point it at a node instead, name one:
.\bin\vike-desktop.exe --observe <host>:7879It takes VIKE_TRADEHUB_OBSERVE_KEY from settings\secrets.env, and from the environment when
the store has none (vike_app_core::backend_registry's fill_node_keys_from_env — a gap-fill,
never an override: a store entry wins). The key must match the daemon's byte for byte. Leaving the
address off is not an error: it falls through to the configured node and then to the local default,
the window opens, and the status bar says whether it connected.
Verify
The rolling log lands at settings\state\logs\, prefixed vike-desktop
(crates/vike-desktop/src/main.rs's file_prefix, not the executable name); its first line is the
identity line — git <sha> clean, built <time>, <rustc>, <target> — which names the commit you are
running. If the log appeared beside the executable instead, the walk found no project: check that
settings\ sits beside bin\ and that you launched from inside the folder.
Next steps
- Your first chart — pick a symbol, see a live chart.
- Quickstart: first backtest — the Studio dispatches the run to a
data service; the demo tape and
vike-cli initcome from the container's tools on Windows, run against the same folder. - Observe mode — how the app is pointed at a node.
Troubleshooting
- SmartScreen blocks the launch. The binary is unsigned; verify the SHA-256 and choose to run.
- Every venue on paper and the log is beside the
.exe. Nosettings\above the working directory — see Troubleshooting. - The node answers
bad mac. The observe key is absent or differs from the daemon's. The app takes it fromsettings\secrets.env, or from the environment when the store has none. - A blank window or no adapter. wgpu found no Vulkan device; update the GPU driver.
Install with Docker
One backend image and one viewer image, a project folder mounted from your disk, and a first paper mount that can reach nothing real.
Install on Linux
The release assets, the checksum, one project folder with everything in it, the first commands, and the systemd unit when you want the daemon to outlive your shell.