Наследование: IVsExtension
 private bool ExecuteCore(PackageItem item)
 {
     // TODO: Show progress window
     // TODO: We're running async, stop other operations from happening
     packageManager.UninstallPackage(item.PackageIdentity, true, false);
     return true;
 }
 public void Execute(PackageItem item)
 {
     var worker = new BackgroundWorker();
     worker.DoWork += OnRunWorkerDoWork;
     worker.RunWorkerCompleted += OnRunWorkerCompleted;
     worker.RunWorkerAsync(item);
 }
 public bool CanExecute(PackageItem item)
 {
     return !packageManager.LocalRepository.Exists(item.PackageIdentity);
 }
 public bool CanExecute(PackageItem item)
 {
     return true;
 }
 private bool ExecuteCore(PackageItem item)
 {
     // TODO: Show progress window
     // TODO: We're running async, stop other operations from happening
     if (item.RequireLicenseAcceptance)
         MessageBox.Show("Blah blah accept license blah blah");
     packageManager.InstallPackage(item.PackageIdentity, false);
     return true;
 }