Use this guide if v2rayN shows no window after you double-click it, displays an error and exits, or v2rayNG closes as soon as it opens. First determine whether the main app is closing or the proxy core is failing to start. Then check the runtime, write permissions, and configuration in that order. Back up data before clearing anything. If the failure occurs only when connecting, check VPN permission and other active VPN services separately.
Tell a crash from a tray app or connection failure
No visible window doesn't always mean the app crashed. v2rayN may be minimized to the notification area, or an existing instance may prevent a second window from opening. Expand the hidden icons on the right side of the Windows taskbar, then press Ctrl + Shift + Esc to open Task Manager. Check the Processes or Details tab for v2rayN.exe. Avoid double-clicking repeatedly: multiple launch attempts can make it harder to tell a real crash from an existing process.
If the client window works and an error appears only when you click Connect, check the proxy core, ports, or configuration instead. v2rayN is a desktop client that relies on a proxy core to handle connections; v2rayNG is an Android client that uses the Xray core. The main app and the core are separate components, so changing subscriptions won't fix a missing desktop runtime.
- No window appears: Check running processes, the notification area, runtime prompts, and system events.
- The window opens and immediately closes: Note when it happens and check error logs, folder permissions, and configuration loading.
- The window stays open, but connections fail: Check the client logs for core errors. Don't clear all data as a first step.
- Android closes after you tap Connect: Note whether a VPN permission prompt appears and whether the app closes before or after it.
Check the v2rayN runtime and architecture
The desktop steps below are for Windows. Runtime requirements vary by v2rayN release package: framework-dependent builds need a compatible .NET runtime, while self-contained builds usually include one. Don't skip checks just because “.NET is installed,” and don't apply Windows dependency fixes to other platforms.
-
Check your system architecture
Open Windows Settings → System → About and check System type. Identify whether your device is x64 or ARM64, then make sure the download matches. The runtime architecture must also match the program; the fact that other .NET apps run on your computer isn't enough.
-
Read the startup prompt
If a runtime prompt appears, note the Framework, Architecture, and version it names. If the program folder contains
v2rayN.runtimeconfig.json, open it in a text editor and check the framework name and version without making changes. Don't edit the version number to work around a missing dependency. -
List installed runtimes
Right-click Start and open Terminal or Windows PowerShell, then run the command below. For a framework-dependent build that uses the WPF interface, check for
Microsoft.WindowsDesktop.App. Having onlyMicrosoft.NETCore.Appdoesn't mean the desktop framework is installed. -
Install the matching runtime, then try again
Install the runtime specified by the release notes or startup prompt, then close any existing process and launch the app again. Restart Windows first if the installer asks you to. No single major runtime version works for every client release package.
dotnet --list-runtimes
If the terminal says dotnet can't be found, that only means the current command environment couldn't find the host; it doesn't prove that a self-contained app can't start. Check the startup prompt and release package type instead. Conversely, command output alone isn't enough: verify that the listed framework and architecture match what the app needs.
You must install or update .NET to run this application.
Cause and fix: The app can't find a compatible .NET runtime. Install the framework, version, and architecture specified in the prompt. Don't confuse the desktop framework with the standard runtime.
Check folder permissions and Windows error logs
The client may need to write configuration, database, and log files at startup. Launching it from inside an archive, storing it in a protected folder, or letting sync software lock its data files can prevent it from starting. Fully extract a portable package to a separate folder your account can write to, such as C:\Users\Public\Documents\v2rayN-test. If your organization restricts that location, use your own Documents folder instead.
- Test write access: Create a text file in the folder you plan to use, save it, then delete it. If that fails, fix the folder permissions or choose another location. Don't rely on running as administrator long-term.
- Check security history: Open Windows Security → Virus & threat protection → Protection history and look for a blocked item that matches the time of the crash. Verify the file's source first; don't turn off all security protection.
- Check application events: Press
Win + R, entereventvwr.msc, then go to Windows Logs → Application. Look for a “.NET Runtime” or “Application Error” entry at the time of the crash. - Keep the relevant details: Note the faulting application path, exception type, faulting module, and time. Share only the relevant entry, not the full log, which may include subscription URLs.
System.UnauthorizedAccessException
Cause and fix: The app was denied access to a path or resource. Check access permissions and security software records for the actual path shown in the exception, then test again from a writable folder. This error alone doesn't prove that the installation folder is locked.
The process cannot access the file because it is being used by another process.
Cause and fix: Another process is using a file. Close duplicate client instances and pause sync or backup tasks for the folder before trying again. Don't force-delete data files while the app is running.
If the app starts after temporarily elevating permissions, that points to a permissions difference worth investigating; it doesn't mean the issue is fixed. Verify that the folder is writable from a standard account, and confirm that settings save, the app exits cleanly, and it starts again.
Back up and isolate the configuration without overwriting old data
If the app worked before an update but started crashing afterward, or the error points to configuration parsing or database access, test it in a clean environment. Don't delete the configuration right away: keep the original and see whether the same program opens with fresh data. Configuration paths vary by version, package type, and data-path settings, so don't bulk-delete files based on instructions for a different release.
-
Close all processes
Exit v2rayN from the notification area, then use Task Manager to confirm the main process has ended. Stop related processes before backing up or moving data to avoid changes while the database is being written.
-
Back up the original data
For a portable setup, first copy the entire original folder. If data is stored separately in your user folder, back that up too. Keep subscription sources, manually added nodes, routing rules, and custom settings. Store backups only in a trusted local location.
-
Create a test copy
Fully extract the same release package into a new writable folder without copying the old configuration. If this version uses a shared user data folder, isolate that data too, based on the logs or data-path settings. Changing only the program folder may not be enough.
-
Restore settings one at a time
Once the fresh environment opens, close and relaunch it to verify startup. Then add a trusted subscription source, followed by your routing and other settings. Test after restoring each category; don't overwrite the new data folder with the old one.
database disk image is malformed
Cause and fix: This error can occur when an SQLite database is corrupted. Keep the database and related files, then test with an isolated, fresh data environment. Don't delete files beside a database that's in use or repeatedly overwrite your only backup.
If it closes only with the old data, check the configuration first
If the same program opens repeatedly in a clean environment but closes again after you restore a particular setting, focus on that data or a compatibility issue. Reinstalling the runtime is unlikely to help; keeping the smallest configuration that reproduces the problem is more useful.
Fix v2rayNG closing on launch and check VPN permission
On Android, first narrow down the issue by when it occurs. If the app closes before the main screen appears, check app data, the installation package, and system compatibility. If the main screen stays open and the problem starts only when you connect, check VPN permission, other active VPN services, and Xray core logs. A denied VPN permission usually prevents a connection; by itself, it doesn't explain every app launch crash.
-
Force-stop, then reopen
Long-press the v2rayNG icon, open App info → Force stop, then launch the app again. You can also find it under Settings → Apps → v2rayNG. Menu names may vary slightly between Android versions.
-
Clear the cache first
Go to App info → Storage & cache → Clear cache. Don't tap Clear storage or Clear all data yet: those options have different effects, and clearing all data resets app settings and local configuration.
-
Check for VPN conflicts
Search for “VPN” in system settings and check whether another app is running a VPN or is set as an “Always-on VPN.” Stop the other VPN session, return to v2rayNG, tap Connect, and respond to the system's VPN connection request.
-
Reset only after backing up
Before clearing app storage, make sure you can retrieve your subscription URLs and manual configuration. If the app opens, export anything you need first. If it won't open and you have no backup, consider the risk of losing data before proceeding; don't uninstall it right away.
-
Check the package architecture
When downloading the client again, choose a package that matches your device architecture; if you're unsure, check the download page for a universal package. If Android blocks installation, read the error. A signature mismatch, downgrade restriction, and runtime crash are different problems.
If the window opens, check the core and ports separately
If v2rayN opens normally but the logs show a listener failure, check whether a local port is already in use. 10808 below is only an example of a local proxy port; your configuration may use a different one. Check the port shown by your client, and don't terminate processes you don't recognize.
Get-NetTCPConnection -State Listen -LocalPort 10808 |
Select-Object LocalAddress, LocalPort, OwningProcess
Run the command in PowerShell. The OwningProcess value in the results is a process ID; look it up in the Details tab of Task Manager. No results may mean nothing is listening on that port, so check the client logs too. If another running client instance is causing the conflict, exit it normally and try again. If you change the proxy port, update any app settings that depend on it.
bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.
Cause and fix: A listener address or port is already in use on Windows. Check the address, port, and process named in the error. Close the conflicting app normally or choose an unused port, then restart the core.
If the main window works, keep the configuration for now
If the interface works and only the connection action fails, use the logs to identify a listener, configuration generation, or remote connection issue. Don't clear all app data instead of checking the port. System proxy settings only affect where traffic is sent; they can't fix a startup crash.
Verify the fix and prepare details for support
Don't consider the issue fixed just because the window appeared once. Close and reopen the client to confirm settings save. Then start a connection and check whether the same error appears in the logs. Finally, send a request from an app that needs the proxy. Testing these three stages distinguishes a recovered interface from a working core and a working app proxy.
- Windows check: Launch as a standard user, save a non-sensitive setting, exit, and reopen the app. Confirm the setting remains and no new errors appear.
- Android check: Grant VPN permission and connect in the foreground first. Then test what happens when you switch to the background and return to the app. Note the exact stage if the problem occurs.
- Record your setup: Note the operating system version, system architecture, full client version, package type, and whether the app worked before the upgrade. Use details from the device itself; don't infer the version from the download date.
- Collect evidence: Share the exact error text, when it occurred, the exception type from the event log, and the result of testing with a fresh configuration. List the steps you've already tried to avoid repeating reinstalls.
- Protect your credentials: Redact tokens in subscription URLs, node identifiers, and account details. Don't share a full configuration or backup archive.
To set up a basic configuration, see the subscription import guide. If the window is back but connections still fail, see connection troubleshooting. Keep the environment that opens reliably, then restore features one at a time. This makes it easier to identify the cause than changing the program, configuration, and system proxy all at once.