v2rayN Crashes on Startup: Fix Missing .NET Runtime and Folder Permission Issues

v2rayN may close immediately or do nothing when launched if the .NET Desktop Runtime is missing, the extracted folder isn’t writable, or security software blocks it. For v2rayNG crashes, check storage and VPN permissions.

At a glance

This guide covers v2rayN opening no window or closing immediately on Windows, and v2rayNG startup problems on Android. First distinguish an app crash from a core startup failure, then check the runtime, complete extraction, folder permissions, security logs, and configuration—in that order. Change one thing at a time, keep the original error message and back up the old configuration. Don’t mistake a connection issue for an app crash.

First, identify whether the window closed or the core failed to start

v2rayN provides the client interface; cores such as Xray handle proxy traffic. A window that never appears calls for a different troubleshooting path than a visible window with errors in the log. Incorrect VMess or VLESS settings usually affect connectivity, so reinstalling the runtime shouldn’t be your first step.

Press Ctrl + Shift + Esc to open Task Manager, then look for v2rayN.exe under Details. If the process is still running, check the hidden icons in the taskbar’s notification area and try restoring the window from the tray. Avoid double-clicking repeatedly; it can be hard to tell an existing instance, a hidden tray window, and a failed launch apart.

What you seeCheck firstHow to tell
Process disappears immediately after launchRuntime, app error, or security blockStartup message and Windows application logs
Process is running, but no window appearsHidden tray icon, window position, or existing instanceNotification area and Task Manager
Window opens, but the core fails to startCore files, configuration, or local listening portClient log at the bottom of the window
App starts, but websites won’t loadSystem proxy, routing rules, or DNSConnection log and browser proxy settings

For example, if the log shows address already in use and mentions 127.0.0.1:10808, a listening port may already be in use. 10808 is a common setting, but check your current configuration. A connection failure alone doesn’t mean the app crashed.

.NET runtime: match the framework, then the architecture

The dependencies for the Windows version of v2rayN vary by release and packaging method. WPF builds generally require the matching .NET Desktop Runtime. For other desktop packages, follow the included instructions and startup messages; self-contained packages may already include the runtime. Don’t assume requirements listed for an older release apply to every version.

You must install or update .NET to run this application.

Cause and fix: The .NET host can’t find the runtime required by the app. Note the framework name, version, and architecture in the message, install the matching runtime, and restart the app.

BadImageFormatException

Cause and fix: A binary component may be damaged or built for a different architecture. Check whether the package is x64, x86, or ARM64, then extract the complete package to a new folder and test it. The exception name alone doesn’t prove that a runtime is missing.

Go to Settings → System → About and check the Windows system type. An x64 app generally needs the x64 runtime; installing only the x86 runtime isn’t a substitute. If the message names Microsoft.WindowsDesktop.App, install the Desktop Runtime—not just the standard .NET Runtime or ASP.NET Core Runtime.

You can run these read-only commands in PowerShell. The first lists runtimes discoverable by the .NET host used by the command; the second reads the app’s runtime configuration from the current extracted folder. First, change to the v2rayN folder you’re actually using.

dotnet --list-runtimes
Get-ChildItem -File -Filter "*.runtimeconfig.json" | Get-Content

Download the runtime from Microsoft’s official download page. Installing the SDK isn’t necessary for most people who just want to run the client. After installation, close any existing process and try again. If the installer explicitly asks you to restart Windows, do so first.

Fully extract the app and check folder permissions with a clean-folder test

Running the app from an archive preview may extract only the executable temporarily, leaving its dependencies in the wrong place. Installing a new version over an old folder can also leave incompatible files behind. For a clean comparison, keep the old folder and extract the complete package into a new folder you can write to.

  1. Close the old process

    Exit v2rayN from the tray menu, then open Task Manager → Details and make sure the old instance has ended. Back up the entire old folder. If your version supports a custom data folder, back that up too.

  2. Create a test folder

    Press Win + R, enter %LOCALAPPDATA%, and create a folder named v2rayN-Test there. Don’t use a folder inside an archive, on read-only media, or in a location restricted by your organization.

  3. Extract all files

    In File Explorer, select Extract All for the archive and keep its folder structure intact. If the package contains an installer, follow its installation process instead of copying just the main executable.

  4. Check write access

    In the extracted folder, right-click and select New → Text Document. Save the file, then delete it. If that fails, open the folder’s Properties → Security and check your account’s permissions. Don’t grant Full Control to every account.

  5. Start with a clean configuration

    Launch the app from the new folder without importing the old configuration or enabling TUN. Once the main window opens reliably, import only the nodes or subscriptions you need. Restore one type of setting at a time, restarting to test each change.

Administrator access isn’t a universal fix

The regular interface shouldn’t require administrator access for everyday use. If it works only when elevated, keep investigating data-folder permissions and security policies. TUN virtual network adapter operations may need extra permissions, but that’s a separate requirement—not the same as a normal startup problem.

If the app starts from the new folder but not the old one, the issue is more likely related to old files, configuration, or permissions. That doesn’t prove a particular configuration file is corrupted. Don’t immediately copy the entire old folder over the new one—you could bring back the file that caused the problem.

Security blocks and error logs: follow the evidence

If double-clicking produces no message, or the app is running but a core file has disappeared, check your security software’s action history. In Windows, open Windows Security → Virus & threat protection → Protection history. Check whether the affected file path and time match this launch attempt.

Launch timeBlock recordError eventIsolated testRetest

Consider restoring a file or changing a rule only after confirming the package source and the file’s purpose. Don’t disable all protection to test, or exclude your entire Downloads folder. If your device is managed by an organization, ask an administrator to review the policy instead of bypassing it.

UnauthorizedAccessException

Cause and fix: Access to a path the app tried to use was denied. Check the path in the error, make sure the folder is writable, and look for a block record under Ransomware protection → Controlled folder access.

FileNotFoundException

Cause and fix: A required file or dependency wasn’t found. Check that the package was fully extracted and review security software’s action history. Get a complete package for the correct architecture; don’t download a DLL with the same name from an unknown site and add it manually.

If Protection history has no matching entry, press Win + R, enter eventvwr.msc, and open Windows Logs → Application. Around the time of the failed launch, look for events from “.NET Runtime” or “Application Error.” Note the faulting application path, exception type, and faulting module name.

Crashing after an update? Restore settings one at a time

If the app starts from a clean folder but closes after importing old data, restore items in stages. Add one configuration first, then restore subscription groups, and finally routing rules, DNS, and TUN settings. If you switch cores, check configuration compatibility again; don’t assume every core accepts the same configuration.

Don’t treat “update subscription” as a universal fix for startup problems. Subscriptions provide node configurations; they can’t supply a missing Desktop Runtime or fix Windows folder permissions. If you need to compare with a previously working version, use a separate folder and the matching backup so old and new versions don’t modify the same data.

v2rayNG crashes: distinguish an app crash from missing VPN permission

v2rayNG on Android uses the Xray core and doesn’t depend on the Windows .NET Desktop Runtime. Check the app version, Android compatibility, available storage, configuration, and VPN permission—in that order. v2flyNG uses the v2fly core, so desktop runtime fixes don’t apply to it either.

On Android, open Settings → Apps → v2rayNG → Storage & cache to check available space and try Clear cache. Menu names may vary; some systems call it Storage usage. Don’t tap Clear storage or uninstall the app without exporting any configuration you need to keep—either action may delete app data.

What should I check if v2rayNG closes when I tap Connect?

First work out whether the app returns to the home screen, the service stops, or you dismissed the VPN permission prompt. Note the app and Android versions, close other active VPN services, and try again. If the process still crashes, collect the system crash report.

Do I need to reinstall after denying VPN permission?

Usually not. Open v2rayNG and try connecting again, then approve the request in the system’s connection dialog. Denying permission generally prevents the service from starting; it doesn’t mean the app crashed.

Does disconnecting when the screen locks count as a crash?

Not necessarily. Go to Settings → Apps → v2rayNG → Battery and check for background restrictions. Some systems also have an autostart setting. Change settings for this app only, then check whether the service keeps running when the screen locks.

It still crashes after clearing the cache. Should I clear all data?

Back up your subscriptions and any configuration you need before considering a data reset. If the app still closes with no data loaded, check the package architecture, system compatibility, and whether installation completed correctly. Don’t keep importing the same configuration repeatedly.

Android apps usually don’t need traditional storage permission to use their private storage. To import files, grant access through the system file picker. Don’t treat all-files access as a general fix. VPN permission and file access permission are separate; handle each according to the actual error.

Confirm the fix with three checks

Opening the window once doesn’t confirm the problem is fixed. First test launching with standard permissions, then verify the app closes normally and starts again. Restore your usual proxy settings only after that. This helps distinguish a repaired runtime environment from a configuration that’s only been temporarily bypassed.

  1. Stable interface: Start and exit normally three times. Check Task Manager for any unexpected leftover instances.
  2. Settings are saved: Change a reversible interface setting, exit, and reopen the app. Confirm the setting persists and there are no folder access errors.
  3. Core runs correctly: Enable a valid configuration and check the log for missing dependencies, configuration parsing errors, or port conflicts. Then test the network access you need.

If the app still crashes, note your operating system and client versions, package architecture, whether extraction was complete, the result of the new-folder test, and the exact error. These details help more than “I’ve reinstalled it many times and it still doesn’t work.” If network access is still failing, investigate the system proxy, DNS, and routing rules separately. Don’t keep changing a runtime you’ve already verified.

Download v2rayN Choose a platform and package