---
title: Windows
weight: 20
description: "Build RustDesk on Windows with MSVC, Rust, vcpkg, Sciter, and LLVM. This guide covers the required toolchain setup before compiling the desktop app from source."
keywords: ["build rustdesk windows", "rustdesk windows build", "rustdesk vcpkg windows", "rustdesk sciter dll", "rustdesk llvm libclang"]
---

Use this guide to build RustDesk on Windows by preparing the MSVC toolchain, Rust, `vcpkg`, Sciter, and LLVM first.

{{% notice note %}}
The command line commands here must be run in Git Bash not command prompt or you will get syntax errors.
{{% /notice %}}

## What do you need before building on Windows?

Building RustDesk on Windows requires a Visual Studio C++ toolchain, Rust, `vcpkg`, `sciter.dll`, and LLVM with `LIBCLANG_PATH` configured. Run the shell commands from Git Bash so the examples and environment-variable syntax work as written.

## Windows build checklist

- Install Visual Studio with the C++ workload.
- Install Rust through `rustup-init.exe`.
- Clone and bootstrap `vcpkg`, then set `VCPKG_ROOT`.
- Download `sciter.dll` for the desktop UI.
- Install LLVM and set `LIBCLANG_PATH` to its `bin` directory.
- Clone RustDesk and run the default build steps in Git Bash.

## Dependencies

### C++ build environment

Download [MSVC](https://visualstudio.microsoft.com/) and install.
Select `Windows` as Developer machine OS and check `C++`, then download Visual Studio Community version and install. The installation may take a while.

### Rust develop environment

Download [rustup-init.exe](https://static.rust-lang.org/rustup/dist/x86_64-pc-windows-msvc/rustup-init.exe) and run it as administrator to install `rust`.

### vcpkg

Go to the folder you want to clone vcpkg and use [Git Bash](https://git-scm.com/download/win) to run the following commands, download `vcpkg`, install 64-bit version of `libvpx`, `libyuv` and `opus`.
If you don't have `Git` installed, get `Git` [here](https://git-scm.com/download/win).

```sh
git clone https://github.com/microsoft/vcpkg
vcpkg/bootstrap-vcpkg.bat
export VCPKG_ROOT=$PWD/vcpkg
vcpkg/vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static
```

Add System environment variable `VCPKG_ROOT`=`<path>\vcpkg`. The `<path>` should be the location you choose above to clone `vcpkg`.

![](/docs/en/dev/build/windows/images/env.png)

### Sciter

Desktop versions use [Sciter](https://sciter.com/) for GUI, please download [sciter.dll](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.win/x64/sciter.dll).

### LLVM

`rust-bindgen` depends on `clang`, download [LLVM](https://github.com/llvm/llvm-project/releases) and install, add System environment variable `LIBCLANG_PATH`=`<llvm_install_dir>/bin`.

You can download version 15.0.2 of the LLVM binaries here: [64 bit](https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.2/LLVM-15.0.2-win64.exe) / [32 bit](https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.2/LLVM-15.0.2-win32.exe).

## Build

### Default

```sh
git clone --recurse-submodules https://github.com/rustdesk/rustdesk
cd rustdesk
mkdir -p target/debug
wget https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.win/x64/sciter.dll
mv sciter.dll target/debug
cargo run
```
