void RunActionButtonClick(object sender, EventArgs e) { switch (selectedAction) { case AddInAction.Disable: for (int i = 0; i < selected.Count; i++) { if (selected[i].Manifest.PrimaryIdentity == "ICSharpCode.AddInManager") { MessageService.ShowMessage("You cannot disable the AddInManager because you need it to re-enable AddIns!"); selected.RemoveAt(i--); } } ICSharpCode.Core.AddInManager.Disable(selected); break; case AddInAction.Enable: ICSharpCode.Core.AddInManager.Enable(selected); break; case AddInAction.Install: RunInstallation(); return; case AddInAction.Uninstall: UninstallButtonClick(sender, e); return; case AddInAction.InstalledTwice: // used to cancel installation of update InstallableAddIn.CancelUpdate(selected); foreach (AddIn addIn in selected) { addIn.Action = addIn.Enabled ? AddInAction.Enable : AddInAction.Disable; } break; default: throw new NotImplementedException(); } foreach (AddInControl ctl in splitContainer.Panel1.Controls) { ctl.Invalidate(); } UpdateActionBox(); }
void UninstallButtonClick(object sender, EventArgs e) { ICSharpCode.Core.AddInManager.RemoveExternalAddIns(selected); InstallableAddIn.Uninstall(selected); RefreshAddInList(); }