For first-time v2rayN users on Windows or anyone setting it up on a new PC. Follow this order: check system architecture → choose an edition → extract all files → install required runtimes → import a subscription → configure the system proxy. If startup fails, check the app and runtimes first. If the interface opens but connections fail, check the core, listening port, and node. There’s no need to enable TUN right away.
1. Choose a Windows Edition, Architecture, and Package
First, open Settings → System → About → System type in Windows. On most Windows 10 and Windows 11 PCs, choose the x64 package for a 64-bit Intel or AMD processor. For an ARM-based PC, check whether the download page offers a compatible ARM64 package. Don’t infer the architecture from the PC brand, or confuse Windows’ system type with the client’s interface edition.
v2rayN is a graphical client that manages servers, subscriptions, and routing, and launches a proxy core. The desktop edition uses the Avalonia UI framework, while the WPF edition uses a Windows-only framework. These are interface options, not proxy protocols; choosing WPF doesn’t limit you to a particular protocol. Available features also depend on the client version, included core, and node settings.
| Option | What to check | Recommendation |
|---|---|---|
| Desktop edition | Cross-platform Avalonia interface | Choose the Windows package that matches your system type and architecture. |
| WPF edition | Windows-only interface | Choose this if you prefer the classic Windows interface; check the release notes for runtime requirements. |
| x64 / ARM64 | Processor architecture shown under System type | Prefer a package built for your native architecture, and confirm its included core supports it too. |
| Self-contained or runtime-dependent | Whether the package includes its required runtime | Self-contained packages are usually larger. Runtime-dependent packages require a separate installation of the specified runtime. |
In short: match the architecture, then check runtime requirements
Choose a Windows package on the download page and note its edition and architecture. Install a runtime only if you see a specific missing-framework error, and follow the prompt. Switching editions repeatedly won’t help diagnose the issue.
2. Extract All Files to a Writable Folder
The main executable, dependencies, and core folders in the archive must stay in their original relative locations. Opening v2rayN.exe directly inside an archive tool may extract only some files to a temporary location, so the interface opens but the service fails to start. Use a stable folder your account can write to, such as C:\Users\Public\Tools\v2rayN. If organization policies restrict that folder, use a tools folder under your user profile instead.
- Get the Windows package you selected from the client download page. Once the download is complete, choose “Extract all.”
- Open the extracted folder and confirm it contains
v2rayN.exeand the other package files. Don’t drag only the main executable to your desktop. - Before the first launch, avoid folders inside an archive, temporary folders, and locations that require extra write permissions.
- Double-click
v2rayN.exein the extracted folder. To add a desktop shortcut, create a shortcut to this file instead of copying it.
If Windows shows a security warning, first verify where the file came from and how it was downloaded. On a work PC, an organization policy may be blocking it; check with your administrator. Disabling system protection or excluding the entire downloads folder is not a general installation fix.
3. First Launch and .NET Runtime Requirements
On the first launch, check whether the interface opens, then whether the proxy core starts. Troubleshoot these stages separately. If the main window won’t open, check the architecture, dependencies, and whether all files were extracted. If the interface works but the logs say a core file is missing, check the package contents, core path, and security software history.
- .NET installation prompt: Expand the error details and note the required framework name, major version, and architecture. Requirements can vary across v2rayN releases, so don’t rely on a runtime version number from an older guide.
- WPF edition reports a missing Windows Desktop framework: Install the matching .NET Desktop Runtime. The standard .NET Runtime alone may not meet the desktop framework requirement.
- Runtime installed, but the error persists: Check that the architecture (x64 or ARM64) matches and that the major version meets the requirement. A newer major version doesn’t necessarily replace the older version the app requires.
- Using a self-contained package: You usually don’t need to install the included .NET runtime separately, but the package’s system requirements still apply. Keep all package files together.
You generally don’t need to run as an administrator for standard system proxy mode. Start with a regular user account when troubleshooting. Grant extra permissions only when enabling a feature that explicitly requires them. Running as administrator by default can mask the real cause, such as folder permissions or missing files.
4. Import a Subscription, Select a Node, and Set the System Proxy
The client doesn’t come with a working server. A subscription is a URL that provides server configurations; VMess and VLESS are protocols used by nodes. They’re different things. Use the client-compatible subscription URL from your service provider, not the URL of your account dashboard.
- Open
Subscription groups → Subscription group settings, add a group, enter a recognizable name and the full subscription URL, then save. - From the
Subscription groupsmenu, chooseUpdate all subscriptions. If your version offers direct and proxy-based updates, choose based on whether the subscription URL is reachable over each route. If you don’t have a working node yet, don’t rely on a proxy update that can’t connect. - Check that nodes appear in the server list, then select one and set it as the active server. Depending on the version, use the context menu or the corresponding Set as active server option.
- Check the log at the bottom of the window and confirm the service started without a listener failure or configuration error.
- From the main window’s bottom bar or the tray’s
System proxymenu, chooseSet system proxy, then test in a browser. The menu location varies slightly by edition. - Under
Routing settings, choose a rule such asBypass mainland China (Whitelist)if needed. The system proxy determines whether an app sends requests to the client; routing rules determine where those requests go after they enter the client.
5. Check Local Ports and Windows Proxy Settings
The numbers below illustrate how local connections work; they aren’t default values for every v2rayN version. Check the local listener settings under Settings → Parameter settings. Some versions put them under Core basic settings. Newer configurations may use a single mixed port, while older ones may have separate SOCKS and HTTP listeners.
If an app asks for an HTTP proxy, use the actual HTTP or mixed listener port shown in the client. A SOCKS-only port won’t work as an HTTP port. Don’t enter a remote node’s server port in Windows’ local proxy settings.
If you see a port-in-use error, run the read-only query below in Command Prompt. Check whether the local address column shows that port, whether the state is LISTENING, and the PID at the end of the line. The same number appearing in a remote address doesn’t mean the local port is in use.
netstat -ano | findstr ":10808"
Then find the process by PID on Task Manager’s Details tab. If it’s another v2rayN instance, exit it from its tray menu. If the process needs to keep running, change the local listener to an unused port—for example, 10818 after confirming it’s free—then save and restart the service. Reapply the system proxy and update any browser extensions or apps with the old port. Don’t end unfamiliar system processes.
6. Common First-Launch Errors and How to Fix Them
The messages below may appear in a dialog, client log, or core log; wording can vary by version. Note the full error and when it occurred, then troubleshoot the relevant layer. A browser failing to load a page doesn’t necessarily mean the package is faulty.
Error: You must install or update .NET to run this application.
Cause and fix: The required .NET framework or architecture isn’t available. Check the Framework and Architecture details in the prompt, install the matching runtime, and restart the app. If it requires the Windows Desktop framework, install the corresponding Desktop Runtime.
Error: This app can't run on your PC
Cause and fix: The package may not match your system architecture, your Windows version may not meet the requirements, or the app files may be damaged. Check your system type under “Settings → System → About,” choose a package that supports your system, and extract all files.
Error: Only one usage of each socket address (protocol/network address/port) is normally permitted.
Cause and fix: Another process is probably using the listening address and port. Use the port in the error to find the PID, exit any duplicate instance, or change the local listener port and update the proxy settings to match.
Error: An attempt was made to access a socket in a way forbidden by its access permissions.
Cause and fix: Permissions, a reserved port range, or a security policy may be blocking the port. First check for another listener. Then run netsh interface ipv4 show excludedportrange protocol=tcp to view TCP excluded port ranges, and choose a port that’s allowed and unused. Don’t delete system reservations.
Error: connectex: No connection could be made because the target machine actively refused it.
Cause and fix: The target refused the connection. Check the destination address in the error. If it’s 127.0.0.1, check whether the local core is listening and whether the proxy ports match. If it’s a remote server, verify the node address, server port, and service status.
If the client can’t find a core file, exit the app and check whether you’re running the main executable without the rest of the package, or downloaded a package that requires you to add a core separately. Then check Protection history in Windows Security for quarantined files. Only take action after verifying the file and its source; don’t restore every blocked item indiscriminately.
7. Common Questions After Installation
There’s no desktop icon after installation. Did it fail?
A version distributed as an archive may not create an installed-app entry or desktop shortcut. Run v2rayN.exe from the fully extracted folder and create a shortcut once it opens. Don’t extract multiple copies or run them all just because there’s no icon.
The interface opens, but no nodes appear after updating the subscription. What should I do?
Go to “Subscription groups → Subscription group settings” and check that the URL is complete. Then check the update log for a timeout, authentication failure, or parsing error. If the subscription returns a login page, use the subscription URL provided by your service. If it times out, first confirm that the network route used for the update is reachable.
Node tests pass, but why won’t the browser load pages?
First, make sure the node is set as the active server, then choose “System proxy → Set system proxy.” Open Windows “Settings → Network & Internet → Proxy” and confirm the proxy points to the current local listener. Also check whether the browser has its own proxy settings. A single latency test doesn’t confirm that every website is reachable.
The PC can’t connect to the internet after I exit v2rayN. Why?
Windows may still be pointing to a local proxy that has stopped. Restart the client, choose “System proxy → Clear system proxy,” then exit. You can also check the manual proxy settings in Windows. If you were using a proxy provided by your organization, note and restore those settings rather than clearing them.
Should I enable startup on boot and TUN right away?
First verify a regular startup, subscription update, node connection, and internet access after exiting. Once the basic connection works, enable startup on boot or TUN one at a time. Changing one setting per test makes it easier to return to a known-good setup if something goes wrong.
For further troubleshooting, note your Windows system type, v2rayN version, selected interface edition, exact error message, and local listening port. Redact subscription URLs, user IDs, and authentication parameters before sharing logs. Check in this order: app startup → core status → local listener → app proxy → remote node. It’s easier to isolate the problem than by changing the package, port, and routing all at once.