🪟Building on Windows
Notes:
The following steps are verified on
Both Windows
cmdandpowershellcan be used for running commands.If you encounter any issues, please have a look at Troubleshooting first. If your issue is not included in the page, please create an issue or ask on Discord.\
If you prefer a video tutorial click here:
Step 1: Get the source code
You should fork the code instead if you wish to submit patches. You'll find information on that in Setting Up Your Repositories
git clone https://github.com/AppFlowy-IO/appflowy.gitStep 2: Install your build environment
Install Visual Studio 2022 build tools. Download from https://visualstudio.microsoft.com/downloads/
In section "All Downloads" => "Tools for Visual Studio 2022" => "Build Tools for Visual Studio 2022".
Launch
vs_BuildTools.exeto install.Choose "Desktop Development with C++"
Install vcpkg according to this page. Make sure to add vcpkg installation folder to your PATH environment variable.
Install flutter according to this page.
Make sure to use the Flutter 3.27.4 version
flutter --version
Flutter 3.27.4 • channel stable • https://github.com/flutter/flutter.git
Framework • revision d8a9f9a52e (4 weeks ago) • 2025-01-31 16:07:18 -0500
Engine • revision 82bd5b7209
Tools • Dart 3.6.2 • DevTools 2.40.3Enable the specified platform first if you don't enable it before and then select the desktop device.
flutter config --enable-windows-desktopFix any problems reported by flutter doctor
flutter doctorInstall LLVM
Based on your platform, install the LLVM using the LLVM-16.0.0-win64(32). Additionally, make sure to add it to the system path.

install_llvm Install rust
Download
rustup.exefrom https://win.rustup.rs/x86_64Call rustup.exe from powershell or cmd
.\rustup-init.exe --default-toolchain stable --default-host x86_64-pc-windows-msvc -yIt is a good idea to check your rustc version after this step, and compare it to the current supported one in AppFlowy. Run the command:
rustup --versionLook for rustc 1.80.1 - You can find the supported version here.
In case you need to checkout/downgrade your version, you can replace the version number in this command:
rustup default 1.80.1Install cargo make
cd AppFlowy/frontendcargo install --force cargo-makeInstall duckscript
cargo install --force duckscript_cliAdd Powershell to the PATH
Add C:\Windows\System32 to the PATH to prevent Powershell build commands crashing.
Install openssl
Download
openssl_1.1.1n_win32_complete.zipfrom https://sockettools.com/kb/openssl-installation-packages-windows/Run installer and install Openssl where you want
Add
binfolder to the PATH (ie:G:\Compilation\OpenSSL\bin)Create a new User variable (using the same window as the PATH editor): Name it
OPENSSL_DIRwith same value as bin folder (ieG:\Compilation\OpenSSL\bin)
Note: In cse the OpenSSL link resolves to a dead download, you can install OpenSSL from this alternative source. (From https://slproweb.com/)
Install perl
Download Perl for Windows (called Strawberry perl) from https://strawberryperl.com/ (choose x64 installer)
Run installer
Check Perl is installed with following command
perl --versionInstall Dart extension for Visual Studio Code
Enable the Dart
protoc_plugin
dart pub global activate protoc_plugin 21.1.2For Windows 11: Activate Developer Mode
Go to Settings > Privacy & Security > switch ON Developer Mode
Step 3: Edit and run the application
[VS Code]
Open the
frontendfolder located at xx/AppFlowy/frontend with VS Code.Go to the Run and Debug tab and then click AF-desktop: Clean + Rebuild All for the first time running.

If you encounter any issues, have a look at Troubleshooting first. If your issue is not included in the page, please create an issue or ask on Discord.
Building in release mode
Go to the AppFlowy/frontend/ directory.
Run the following command to create the binary.
cargo make --profile production-windows-x86 appflowyThe scripts are located in the AppFlowy/frontend/Makefile.toml file.
The resulting binary file is located in AppFlowy/frontend/appflowy/product/x.x.x/Windows/Release/AppFlowy/.
If using a virtual machine
Run Linux GUI application through x11 on windows (use MobaXterm) for instance:
export DISPLAY=localhost:10
Last updated
Was this helpful?

