BornToBeRoot/NETworkManager · error · Exception
Process could not be started!
Error message
Process could not be started!
What it means
TigerVNCControl.Connect() starts the TigerVNC viewer executable (vncviewer) via Process.Start and embeds its window. If Process.Start returns null — no process was created, typically because the configured ApplicationFilePath is missing or not executable — the control throws this generic Exception and shows the message in a message box.
Solutions
- Open Settings > TigerVNC and set the correct full path to vncviewer(.exe); confirm the file exists.
- Install TigerVNC or re-download the viewer and update the configured path.
- Check whether antivirus/AppLocker blocks the executable and whitelist it.
- Reconnect/reopen the VNC tab so Connect() runs again with the fixed path.
Example fix
// before
info.FileName = _sessionInfo.ApplicationFilePath;
// after (guard before constructing the control / calling Connect)
if (!File.Exists(_sessionInfo.ApplicationFilePath))
MessageBox.Show($"TigerVNC viewer not found: {_sessionInfo.ApplicationFilePath}"); Defensive patterns
Strategy: validation
Validate before calling
var path = sessionInfo.ApplicationFilePath; bool canStart = !string.IsNullOrWhiteSpace(path) && File.Exists(path);
Type guard
static bool HasExecutable(string path) => !string.IsNullOrWhiteSpace(path) && File.Exists(path) && Path.GetExtension(path).Equals(".exe", StringComparison.OrdinalIgnoreCase); Try / catch
try
{
await Connect();
}
catch (Exception ex) when (ex.Message == "Process could not be started!")
{
MessageBox.Show($"TigerVNC viewer not found: {settings.TigerVNCPath}", "Error");
} Prevention
- Configure and verify the vncviewer path in Settings > TigerVNC before connecting.
- Ensure TigerVNC is installed and the path survives application updates.
- Whitelist the viewer in endpoint protection software on managed machines.
- Add a preflight File.Exists check when loading VNC profiles.
When it happens
Trigger: Process.Start(info) returns null in Connect() because the TigerVNC viewer executable path is missing, invalid, or blocked from execution.
Common situations: TigerVNC not installed or its path not configured in Settings > TigerVNC; vncviewer.exe moved/renamed after configuration; antivirus or software restriction policies blocking the viewer; portable deployment missing the external binary.
Related errors
- Process could not be started!
- Embedded resource…
- Embedded resource…
- Specified argument was out of the range of valid values…
AI-assisted analysis of BornToBeRoot/NETworkManager@2780d65469 (2026-09-12).
Data as JSON: /api/errors/617c7409d7ae0954.
Report an issue: GitHub.
Appendix: source
Thrown at Source/NETworkManager/Controls/TigerVNCControl.xaml.cs:199
// Remove border etc.
long style = (int)NativeMethods.GetWindowLong(_appWin, NativeMethods.GWL_STYLE);
style &= ~(NativeMethods.WS_CAPTION | NativeMethods.WS_POPUP |
NativeMethods
.WS_THICKFRAME); // NativeMethods.WS_POPUP --> Overflow? (https://github.com/BornToBeRoot/NETworkManager/issues/167)
NativeMethods.SetWindowLongPtr(_appWin, NativeMethods.GWL_STYLE, new IntPtr(style));
IsConnected = true;
// Resize embedded application & refresh
// Requires a short delay because it's not applied immediately
await Task.Delay(250);
ResizeEmbeddedWindow();
}
}
}
else
{
throw new Exception("Process could not be started!");
}
}
catch (Exception ex)
{
if (!_closed)
// Use built-in message box because we have visual issues in the dragablz window
MessageBox.Show(ex.Message, Strings.Error, MessageBoxButton.OK, MessageBoxImage.Error);
}
IsConnecting = false;
}
private void Process_Exited(object sender, EventArgs e)
{
// This happens when the user exit the process
IsConnected = false;
}
View on GitHub (pinned to 2780d65469)