Docs
Doc / build-windows
Build OmniEdge for Windows
OmniEdge v2.x is built with Rust and Tauri. This guide covers building both the CLI and Desktop applications on Windows.
Supported Versions
- Windows 10 (1809+)
- Windows 11
- Windows Server 2019, 2022
Prerequisites
Install Visual Studio Build Tools
Download and install Visual Studio Build Tools:
- Run the installer
- Select "Desktop development with C++" workload
- Ensure these components are selected:
- MSVC v143 (or latest)
- Windows 10/11 SDK
- C++ CMake tools
Install Rust Toolchain
# Download and run rustup-init.exe from https://rustup.rs
# Or use winget:
winget install Rustlang.Rustup
# After installation, open a new terminal and verify:
rustc --version # Should be 1.70+
cargo --versionInstall Node.js (for Desktop)
# Using winget
winget install OpenJS.NodeJS.LTS
# Or download from https://nodejs.org
# Verify:
node --version # Should be 18+
npm --versionBuild CLI
Clone and Build
git clone https://github.com/omniedgeio/omniedge.git
cd omniedge
# Build CLI in release mode
cargo build --release -p omni-cli
# Binary location
dir target\release\omniedge.exeInstall CLI
# Create directory and add to PATH
mkdir C:\omniedge
copy target\release\omniedge.exe C:\omniedge\
# Add to PATH (run as Administrator)
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\omniedge", "Machine")
# Verify (open new terminal)
omniedge --versionBuild Helper Service
cargo build --release -p omni-helper
# Copy helper
copy target\release\omni-helper.exe C:\omniedge\Build Desktop Application
Build Desktop
cd apps\desktop
# Install npm dependencies
npm install
# Build Tauri app (creates .msi and .exe installers)
npm run tauri buildBuild Output
Installers are created in apps\desktop\src-tauri\target\release\bundle\:
| Format | Location |
|---|---|
| MSI | bundle\msi\OmniEdge_*.msi |
| NSIS (exe) | bundle\nsis\OmniEdge_*-setup.exe |
Install Desktop
# MSI installer (recommended)
msiexec /i apps\desktop\src-tauri\target\release\bundle\msi\OmniEdge_*.msi
# Or run NSIS installer
apps\desktop\src-tauri\target\release\bundle\nsis\OmniEdge_*-setup.exeDevelopment Mode
CLI Development
# Run CLI in debug mode
cargo run -p omni-cli -- --help
# Run with arguments
cargo run -p omni-cli -- statusDesktop Development
cd apps\desktop
# Start development server with hot reload
npm run tauri devTesting
# Run all tests
cargo test
# Run specific crate tests
cargo test -p omni-cliCode Signing (Optional)
For production builds, you should sign the executables:
Sign with signtool
# Sign the executable
signtool sign /tr http://timestamp.digicert.com /td sha256 /fd sha256 /a target\release\omniedge.exeConfigure Tauri for Signing
Edit apps/desktop/src-tauri/tauri.conf.json:
{
"bundle": {
"windows": {
"certificateThumbprint": "YOUR_CERT_THUMBPRINT",
"timestampUrl": "http://timestamp.digicert.com"
}
}
}Troubleshooting
MSVC Not Found
If you see "linker link.exe not found", ensure Visual Studio Build Tools are installed with the C++ workload.
WebView2 Missing
Tauri requires Microsoft Edge WebView2. It's included with Windows 11 and recent Windows 10 updates. If missing:
# Download WebView2 Runtime
winget install Microsoft.EdgeWebView2RuntimeAdministrator Privileges
The helper service requires Administrator privileges for TUN interface management:
# Run as Administrator
Start-Process powershell -Verb RunAs -ArgumentList "omniedge start"Windows Firewall
On first run, Windows may prompt to allow OmniEdge through the firewall. Click "Allow" to enable network access.
Build Without Desktop
If you only need the CLI and don't want to install Node.js:
# Build only CLI
cargo build --release -p omni-cli
# Build CLI and helper
cargo build --release -p omni-cli -p omni-helperIf you have more questions, feel free to discuss.
On This Page