private static void UninstallThreadStart() { IsInstalled = !InstallUtil(false); if (!IsInstalled) { try { string dirPath = Path.GetDirectoryName(InstallFilePath); if (dirPath != null) { foreach (string file in Directory.GetFiles(dirPath)) { File.Delete(file); } Directory.Delete(dirPath); } } catch (Exception) { if (UninstallFailed != null) { UninstallFailed.Invoke(null, new EventArgs()); } return; } try { if (File.Exists(UninstallFilePath)) { File.Delete(UninstallFilePath); } } catch (Exception) { if (UninstallFailed != null) { UninstallFailed.Invoke(null, new EventArgs()); } return; } if (Uninstalled != null) { Uninstalled.Invoke(null, new EventArgs()); } } else if (UninstallFailed != null) { UninstallFailed.Invoke(null, new EventArgs()); } }
internal void OnUninstallFailed() { Log.Warning($"Server {this.ID:00} Uninstall Failed."); UninstallFailed.Invoke(this, null); }