private void UninstallJMMServer() { if (Utils.IsLinux) { return; //This will be handled by the OS or user, as we cannot reliably learn what package management system they use. } try { // Check in registry if installed string jmmServerUninstallPath = (string)Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{898530ED-CFC7-4744-B2B8-A8D98A2FA06C}_is1", "UninstallString", null); if (!string.IsNullOrEmpty(jmmServerUninstallPath)) { // Ask if user wants to uninstall first bool res = Utils.ShowYesNo(Resources.DuplicateInstallDetectedQuestion, Resources.DuplicateInstallDetected); if (res) { try { ProcessStartInfo startInfo = new ProcessStartInfo { FileName = jmmServerUninstallPath, Arguments = " /SILENT" }; Process.Start(startInfo); logger.Log(NLog.LogLevel.Info, "JMM Server successfully uninstalled"); } catch { logger.Log(NLog.LogLevel.Error, "Error occured during uninstall of JMM Server"); } } else { logger.Log(NLog.LogLevel.Info, "User cancelled JMM Server uninstall"); } } } catch (Exception ex) { logger.Log(NLog.LogLevel.Error, "Error occured during UninstallJMMServer: " + ex); } }