How to Install v2rayN on Windows: Desktop vs WPF Edition and Common Pitfalls

v2rayN on Windows comes in two interface branches: the 7.x desktop build and the WPF classic build frozen at 6.60. Their system requirements, config folders and the way they call the core are not the same. This article walks through picking a build, unzipping, importing nodes, connecting and troubleshooting in order, and lists the three most frequent pitfalls: tray icon, permissions and auto start.

At a glance

Written for people installing v2rayN on Windows 10 / Windows 11 for the first time, and just as useful for long-time users who upgraded from 6.x and found the menus changed. By the end you get one complete path: pick the interface branch that matches your Windows version, unzip the program into a folder that sync tools and permissions won't interfere with, import nodes from a subscription or a share link, and confirm both the system proxy and the local listening ports are working. When the tray icon vanishes, port 10808 is taken, or nothing connects after auto start, you can trace the problem to a specific step in order instead of swapping nodes over and over.

How to choose between the two interface builds

The conclusion first: on Windows 10 1809 or newer, always install the desktop build 7.24.1. Pick the WPF classic build only if your system is stuck on Windows 7 SP1 / 8.1, or if you must keep using a 6.x config folder. The two are close in features; they differ on three lines — system requirements, UI framework and future updates.

Desktop build v2rayN 7.24.1

Recommended

One interface covers Windows, macOS and Linux; the core defaults to Xray and can be switched to v2ray or sing-box in settings. Packages with Desktop in the file name bundle the runtime and run right after unzipping, and new cores and protocols land on this branch.

Best for: Windows 10 1809 or newer, fresh installs or long-term use

WPF classic build v2rayN 6.60

The interface is built on WPF: small footprint, fast startup and friendlier to low-end machines. But the version is frozen at 6.60 and no longer follows later core and protocol updates, so nodes using newer protocols may fail at the handshake.

Best for: older machines on Windows 7 SP1 / 8.1, or existing 6.x configs you don't want to migrate

The two branches use different config formats. The desktop build keeps nodes, subscriptions and interface preferences under guiConfigs in the program folder, so upgrading is just copying that folder across. When moving from 6.60 to 7.x, back up the old folder before copying; if the program still can't read it, running the subscription update again is far faster than adding nodes by hand.

Bottom line: let your Windows version decide, not your interface habits

There is no reason to stay on 6.60 on a machine running Windows 10 1809 or later — core and protocol updates continue only on the 7.x branch. With an older build, nodes using newer protocols usually show handshake errors in the log, and switching nodes won't fix it.

Where to unzip: pick the wrong folder and everything after goes wrong

v2rayN ships as an archive: there is no installer and nothing is written to the registry (only the optional start-with-Windows entry adds a startup item). Where you unzip it therefore decides whether you'll hit permission and file-lock problems later. The five points below are ordered by importance.

Two things that block the first launch

The first time you double-click v2rayN.exe, Windows SmartScreen shows "Windows protected your PC" — click More info, then Run anyway. Move the folder and it appears again. On the first connection, security software may block the core process: choose Allow, or add the whole unzipped folder to its trusted list and restart the program. If the log stops at the line where the core starts, that is almost always the block.

From importing nodes to going online: five steps

This path applies to a freshly unzipped desktop build 7.24.1, and the order matters: let the program create its config folder first, then import nodes, and only then turn on the system proxy.

  1. First launch creates the config folder. After you double-click v2rayN.exe, a guiConfigs folder appears in the program directory, holding guiNConfig.json for interface and proxy settings and guiNDB.db for nodes and subscriptions. Later upgrades and migrations all revolve around this folder.
  2. Import nodes. Subscription route: Subscriptions → Subscription settings → Add in the left panel, paste the subscription URL and save, then go back to the main window and click Subscriptions → Update subscription (without proxy). Single node route: copy the share link, then Servers → Import bulk URL from clipboard in the main window. If the subscription URL won't open over a direct connection, use Update subscription (via proxy) instead — provided you already have one working node.
  3. Test latency and pick a node. Right-click the node list and choose Test real delay of servers, sort the results ascending, prefer nodes under 200 ms with 0 packet loss, and double-click one to make it active.
  4. Turn on the system proxy. Right-click the tray icon → System proxy → Set system proxy automatically, or pick the same item under Settings → Parameter settings → System proxy. Once enabled, the system proxy points to 127.0.0.1:10809.
  5. Verify. Open any page in your browser; if you're unsure, switch to the Logs tab at the bottom of the main window and confirm the core output shows lines listening on 10808 and 10809.
7.24.1
Current desktop build
6.60
Final WPF classic build
10808
Default SOCKS listening port
10809
Default HTTP listening port

Both ports can be changed under Settings → Parameter settings → Core: basic settings. After changing them, update the ports in the system proxy and any browser extension too; otherwise the program reports a connection while pages fail to load — the classic symptom of mismatched ports.

Tray, permissions, auto start: four common pitfalls

These four issues come up most often during installation, and each answer comes down to a specific toggle or folder.

The tray icon disappears after you close the window, but the proxy is still on?

In the desktop build, the close button only minimizes to the tray by default. If there's no icon in the tray area, click Show hidden icons in the taskbar and drag it out, then check whether Exit program when window is closed is ticked under Settings → Parameter settings → Basic settings.

TUN mode asks for administrator rights?

TUN mode creates a virtual network adapter to take over all traffic, so it must run as administrator. Right-click v2rayN.exe and choose Run as administrator, or open the shortcut's Properties → Compatibility and tick Run this program as an administrator. If you only use the system proxy, administrator rights aren't needed.

Auto start is enabled, but nothing connects after boot?

Start with Windows under Settings → Parameter settings → Basic settings only launches the program and the core; whether the system proxy comes up with it is controlled by Set system proxy automatically. Tick both, and make sure the node selected when you last quit is still working.

You moved from 6.60 to 7.24.1 and the node list is empty?

The two versions use different config folder layouts, so overwriting the program files won't migrate your data. Quit 6.60 first, copy its whole guiConfigs folder into the 7.24.1 program directory, then launch. If it still can't be read, running the subscription update again is the least hassle.

Troubleshooting order when nothing connects

Work through local ports → system proxy → nodes, in that order, instead of swapping nodes first. Start by checking whether 10808 and 10809 are taken by another program; run these in Command Prompt, one after another:

netstat -ano | findstr 10808
netstat -ano | findstr 10809
tasklist /fi "pid eq 12345"

If the first two commands print nothing, the ports are free. If they do print, note the PID in the last column, replace 12345 in the third command with that PID, and you'll see the name of the process holding the port. Once you've confirmed the conflict, change the local listening ports to 10810 / 10811 under Settings → Parameter settings → Core: basic settings and restart the client.

SymptomLog or message keywordFix
Tray icon is fine, but the browser can't open pagesNo errors in the logConfirm the system proxy is set to Set system proxy automatically, and check whether the manual proxy under Windows Settings → Network & Internet → Proxy has been rewritten by another program
Core exits right after it startsaddress already in useUse the commands above to find the process holding the port, or simply change the local listening ports to 10810 / 10811
All nodes time outdial tcp ... i/o timeoutRe-test real connection delay and switch nodes, and check whether the subscription has expired
Some pages load, others time outNoneCheck the routing rules and see whether the target domain is being sent to a direct connection

Bottom line: check local ports and the system proxy before blaming the node

A taken port and a system proxy rewritten by another program leave almost no trace in the log, yet they are the most common cause of "can't connect". Rule those two out before switching nodes and you'll troubleshoot far faster.

Upgrading and uninstalling: what to do with the config folder

v2rayN has no setup wizard, so upgrading and uninstalling are just folder operations. Get the order wrong and you're left with two kinds of residue: a dead startup entry and a system proxy still pointing at 127.0.0.1:10809. Follow the order below to avoid both.

What's inside the guiConfigs folder

Subscription URLs, node details, routing rules and interface preferences all live in guiConfigs, so sharing that folder is the same as handing over every node. Treat backups and migrations with that in mind, and don't casually drop it into a shared cloud drive folder.

Download v2rayN