private async Task OnUninstallPackageExecuteAsync() { try { _progressManager.ShowBar(this); using (var cts = new CancellationTokenSource()) { // InstalledPackage means you cannot directly choose version which should be uninstalled, may be this should be revised var uninstallPackageDetails = PackageDetailsFactory.Create(PackageOperationType.Uninstall, Package.GetMetadata(), InstalledPackage, null); await _packageCommandService.ExecuteUninstallAsync(uninstallPackageDetails, cts.Token); } await Task.Delay(200); } catch (Exception ex) { Log.Error(ex, $"Error when uninstalling package {Package.Identity}, uninstall was failed"); } finally { _progressManager.HideBar(this); } }