async Task ExecuteAsync(CancellationToken cancellationToken) { try { restoreAction.Execute(cancellationToken); } catch (Exception ex) { bool result = await OnRestoreFailure(cancellationToken); if (!result) { throw ex; } return; } uninstallAction.PackageId = PackageId; uninstallAction.Execute(cancellationToken); }
public void Execute(CancellationToken cancellationToken) { using (IDisposable referenceMaintainer = CreateLocalCopyReferenceMaintainer()) { using (IDisposable fileMonitor = CreateFileMonitor()) { uninstallAction.PackageId = PackageId; uninstallAction.ForceRemove = true; uninstallAction.Execute(cancellationToken); installAction.PackageId = PackageId; installAction.Version = Version; installAction.LicensesMustBeAccepted = false; installAction.OpenReadmeFile = false; // Local copy references need to be preserved before the uninstall starts so // we must disable this for the install action otherwise they will not be // preserved. installAction.PreserveLocalCopyReferences = false; installAction.Execute(cancellationToken); } } }