# How to Deploy an Application Using openclaw-windows-node: Complete Build and Installation Guide

> Deploy your application with openclaw-windows-node. Follow this guide to build, package as MSIX, and deploy the tray application or signed MSIX to target machines.

- Repository: [openclaw/openclaw-windows-node](https://github.com/openclaw/openclaw-windows-node)
- Tags: how-to-guide
- Published: 2026-06-06

---

**Run `.\build.ps1` to compile the OpenClaw Windows tray, optionally package it as an MSIX using `-p:PackageMsix=true`, and deploy either the unpackaged executable or the signed MSIX package to target machines.**

The `openclaw/openclaw-windows-node` repository provides a native Windows companion application (codenamed Molty) that functions as a system tray utility for the OpenClaw gateway. Deploying this application involves building the C# source, optionally packaging it for distribution, and installing or running the resulting binary on Windows 10 or 11 machines. This guide covers the end-to-end deployment process using the exact build scripts and project files found in the repository.

## Prerequisites for Building openclaw-windows-node

Before compiling the source, ensure your environment meets these requirements:

- **Windows 10 (20H2 or later) or Windows 11** – Required for WinUI 3 support and MSIX packaging capabilities
- **.NET 10.0 SDK** – Needed to compile the C# projects, including the main tray application

- **Windows 10 SDK** – Provides the WinUI 3 toolchain for building the graphical interface
- **WebView2 Runtime** – Required for the embedded chat window functionality

Verify your .NET installation by running `dotnet --version` and confirming the output shows 10.0 or higher.

## Building the Application from Source

### Using the PowerShell Build Script

The repository includes a central orchestration script at `build.ps1` that automates compilation. Navigate to the repository root and execute the appropriate command for your target:

```powershell

# Verify all prerequisites are installed

.\build.ps1 -CheckOnly

# Build all projects (default produces unpackaged binaries)

.\build.ps1

# Build only the WinUI tray application

.\build.ps1 -Project WinUI

```

The script internally calls `dotnet build` on `src/OpenClaw.Tray.WinUI/OpenClaw.Tray.WinUI.csproj` and related projects. Upon completion, the unpackaged executable `OpenClaw.Tray.WinUI.exe` is located at `src/OpenClaw.Tray.WinUI/bin/Debug/net10.0-windows10.0/win-x64/`.

### Packaging as an MSIX for Distribution

For production deployments requiring signed packages (necessary for camera and microphone consent prompts), build with the MSIX packaging property enabled:

```powershell

# Build x64 MSIX package

dotnet build src/OpenClaw.Tray.WinUI/OpenClaw.Tray.WinUI.csproj `
    -c Release -r win-x64 -p:PackageMsix=true

# Build ARM64 MSIX package

dotnet build src/OpenClaw.Tray.WinUI/OpenClaw.Tray.WinUI.csproj `
    -c Release -r win-arm64 -p:PackageMsix=true

```

The MSIX configuration is defined in `OpenClaw.Tray.WinUI.csproj`, which contains the `<WindowsPackageType>MSIX</WindowsPackageType>` element and the "SyncAppxManifestVersion" target that validates the four-part version number. Output files are written to `src/OpenClaw.Tray.WinUI/bin/Release/net10.0-windows10.0/win-x64/` (or `win-arm64` for ARM builds).

## Deployment Methods

### Unpackaged Deployment (Development)

For internal testing or development scenarios, deploy the unpackaged executable directly:

1. Copy the build output folder `src/OpenClaw.Tray.WinUI/bin/Debug/net10.0-windows10.0/win-x64/` to the target machine
2. Use the provided launch helper `run-app-local.ps1` to start the tray:

```powershell

# Build and launch

.\run-app-local.ps1

# Launch without rebuilding (useful for repeated testing)

.\run-app-local.ps1 -NoBuild

```

The unpackaged mode does not require installation privileges and is useful for rapid iteration.

### MSIX Installation (Production)

For end-user distribution, install the MSIX package using PowerShell:

```powershell
Add-AppxPackage -Path .\OpenClaw.Tray.WinUI_1.0.0.0_x64.msix

```

During installation, the MSIX automatically registers the `openclaw://` protocol handler (implemented in [`src/OpenClaw.Tray.WinUI/Services/DeepLinkHandler.cs`](https://github.com/openclaw/openclaw-windows-node/blob/main/src/OpenClaw.Tray.WinUI/Services/DeepLinkHandler.cs)) and declares the required Windows capabilities including camera, microphone, and location access. Note that uninstalling the MSIX via `Remove-AppxPackage` does not delete user data stored in `%APPDATA%\OpenClawTray\`; refer to [`docs/uninstall-msix.md`](https://github.com/openclaw/openclaw-windows-node/blob/main/docs/uninstall-msix.md) for complete cleanup procedures.

## Post-Deployment Validation

Confirm successful deployment and gateway connectivity using the CLI tool located in `src/OpenClaw.Cli`:

```powershell

# Display available commands and options

dotnet run --project src/OpenClaw.Cli -- --help

# Send a test message using stored tray settings

dotnet run --project src/OpenClaw.Cli -- --message "Deployment validation test"

# CI-friendly probe with explicit endpoint and repetition

dotnet run --project src/OpenClaw.Cli -- `
    --url ws://127.0.0.1:18789 `
    --token "<your-token>" `
    --repeat 5 --delay-ms 1000 --probe-read --verbose

```

Alternatively, verify deployment by checking the system tray for the OpenClaw icon showing a green status indicator, or examine the log file at `%LOCALAPPDATA%\OpenClawTray\openclaw-tray.log` for a successful WebSocket handshake entry.

## Summary

- **Prerequisites**: Ensure Windows 10 (20H2+) or Windows 11, .NET 10.0 SDK, and WebView2 Runtime are installed before building
- **Build Process**: Use `.\build.ps1` for standard compilation or `dotnet build` with `-p:PackageMsix=true` to generate distributable MSIX packages
- **Deployment Options**: Run unpackaged executables via `run-app-local.ps1` for development, or install signed MSIX packages using `Add-AppxPackage` for production environments
- **Protocol Registration**: MSIX deployments automatically register the `openclaw://` deep link protocol via [`DeepLinkHandler.cs`](https://github.com/openclaw/openclaw-windows-node/blob/main/DeepLinkHandler.cs)
- **Validation**: Use the `OpenClaw.Cli` project to probe gateway connectivity or check the tray icon status and log files

## Frequently Asked Questions

### What are the minimum system requirements to deploy openclaw-windows-node?

You need Windows 10 version 20H2 or later, or Windows 11, along with the .NET 10.0 SDK and WebView2 Runtime. The application is built for `win-x64` and `win-arm64` architectures, so the target machine must match one of these platforms.

### How do I build an MSIX package for openclaw-windows-node?

Execute `dotnet build src/OpenClaw.Tray.WinUI/OpenClaw.Tray.WinUI.csproj -c Release -r win-x64 -p:PackageMsix=true` from the repository root. The resulting `.msix` file appears in the `bin/Release/net10.0-windows10.0/win-x64/` directory and is ready for distribution.

### Where is the application log file located after deployment?

The tray application writes logs to `%LOCALAPPDATA%\OpenClawTray\openclaw-tray.log`. This file contains WebSocket connection status, deep link handling events from [`DeepLinkHandler.cs`](https://github.com/openclaw/openclaw-windows-node/blob/main/DeepLinkHandler.cs), and any runtime errors encountered during execution.

### Does uninstalling the MSIX remove user data?

No, MSIX uninstallation preserves user data stored in `%APPDATA%\OpenClawTray\` and `%LOCALAPPDATA%\OpenClawTray\`. To fully remove all traces of the application after uninstalling the package, you must manually delete these directories following the cleanup steps outlined in [`docs/uninstall-msix.md`](https://github.com/openclaw/openclaw-windows-node/blob/main/docs/uninstall-msix.md).