private void uninstallToolStripMenuItem1_Click(object sender, EventArgs e) { ScePro current = listBox1.SelectedItem as ScePro; Process.Start(current.UninstallerPluginPath, @" /VERYSILENT /NORESTART"); this.listBox1.SelectedItem = null; }
private void listBox1_SelectedIndexChanged(object sender, EventArgs e) { var proItem = this.contextMenuStrip1.Items[0] as ToolStripDropDownItem; var proUnins = proItem.DropDown.Items[0]; var plugItem = this.contextMenuStrip1.Items[1] as ToolStripDropDownItem; var plugUnins = plugItem.DropDown.Items[0]; proItem.Visible = false; proUnins.Visible = false; plugItem.Visible = false; plugUnins.Visible = false; if (this.listBox1.SelectedItem != null) { ScePro scePro = this.listBox1.SelectedItem as ScePro; proItem.Visible = true; proItem.Text = "ScePro " + FileVersionInfo.GetVersionInfo(scePro.BinPath).FileVersion; // Update sceProItem and contextMenu string binDir = Path.GetDirectoryName(scePro.BinPath); if (File.Exists(Path.Combine(binDir, @"..\", "unins000.exe"))) { scePro.UninstallerPath = Path.GetFullPath(Path.Combine(binDir, @"..\", "unins000.exe")); proUnins.Visible = true; proUnins.Text = "Uninstall " + scePro.UninstallerPath; } //Plugins foreach (string plugDir in Directory.GetDirectories(Path.Combine(binDir, "plugins"))) { scePro.PluginName = (new DirectoryInfo(plugDir)).Name; plugItem.Visible = true; plugItem.Text = scePro.PluginName; // Version if (File.Exists(Path.Combine(binDir, "plugins", scePro.PluginName, "Siradel.S_IoT.Plugin.dll"))) { plugItem.Text = scePro.PluginName + " " + FileVersionInfo.GetVersionInfo(Path.Combine(binDir, "plugins", scePro.PluginName, "Siradel.S_IoT.Plugin.dll")).FileVersion; } else if (File.Exists(Path.Combine(binDir, "plugins", scePro.PluginName, "Siradel.S_5GChannel.Plugin.dll"))) { plugItem.Text = scePro.PluginName + " " + FileVersionInfo.GetVersionInfo(Path.Combine(binDir, "plugins", scePro.PluginName, "Siradel.S_5GChannel.Plugin.dll")).FileVersion; } else if (File.Exists(Path.Combine(binDir, "plugins", scePro.PluginName, "S_Backhaul.dll"))) { plugItem.Text = scePro.PluginName + " " + FileVersionInfo.GetVersionInfo(Path.Combine(binDir, "plugins", scePro.PluginName, "S_Backhaul.dll")).FileVersion; } if (File.Exists(Path.Combine(plugDir, "unins000.exe"))) { scePro.UninstallerPluginPath = Path.Combine(plugDir, "unins000.exe"); plugUnins.Visible = true; plugUnins.Text = "Uninstall " + scePro.UninstallerPluginPath; } } } }