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
RecommendedOne 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.
- Keep the path plain ASCII with no spaces, for example
D:\apps\v2rayN. Paths with non-English characters or spaces break argument parsing when the core is launched from the command line, which usually shows up in the log as a missing config file. - Don't put it under
C:\Program FilesorC:\Program Files (x86). Both folders require administrator rights to write by default, so subscription files and runtime logs can't be saved. - Don't put it on the Desktop, in Documents, or in a synced folder such as OneDrive. The sync process may lock the
guiConfigsfolder while the program is running, and subscription updates then report the file as in use. - After unzipping, check that the folder contains
v2rayN.exeand abinfolder, with xray, v2ray and sing-box subfolders insidebin. If the core files are missing, the program opens but never connects. - When downloading, prefer the package with Desktop in its file name — it bundles the runtime. If you get the runtime-dependent package, the first double-click reports a missing .NET runtime; install it as prompted and launch again.
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.
- First launch creates the config folder. After you double-click
v2rayN.exe, aguiConfigsfolder appears in the program directory, holdingguiNConfig.jsonfor interface and proxy settings andguiNDB.dbfor nodes and subscriptions. Later upgrades and migrations all revolve around this folder. - 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.
- 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.
- 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.
- 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.
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.
| Symptom | Log or message keyword | Fix |
|---|---|---|
| Tray icon is fine, but the browser can't open pages | No errors in the log | Confirm 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 starts | address already in use | Use the commands above to find the process holding the port, or simply change the local listening ports to 10810 / 10811 |
| All nodes time out | dial tcp ... i/o timeout | Re-test real connection delay and switch nodes, and check whether the subscription has expired |
| Some pages load, others time out | None | Check 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.
- Upgrade: quit the running v2rayN, unzip the new version into a different folder, copy the whole
guiConfigsfolder from the old directory into it, launch the new version to confirm your nodes and subscriptions are there, then delete the old folder. - Uninstall: quit the program → turn off the system proxy → untick Start with Windows → delete the whole program folder. Skip the two middle steps and Windows keeps its proxy set to 127.0.0.1:10809, while the startup entry points at a path that no longer exists.
- Check for leftovers: open Windows Settings → Network & Internet → Proxy and confirm Use a proxy server is off; then check Task Manager → Startup apps for any v2rayN entry.
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.