protected override void OnOperationStarting(object sender, PackageOperationEventArgs e) { var context = _packageOperationContextService.CurrentContext; if (e.PackageOperationType == PackageOperationType.Uninstall) { _backupFileSystemService.BackupFolder(e.InstallPath); _rollbackPackageOperationService.PushRollbackAction(() => _backupFileSystemService.Restore(e.InstallPath), context); return; } if (e.PackageOperationType == PackageOperationType.Install) { _rollbackPackageOperationService.PushRollbackAction(() => _fileSystemService.DeleteDirectory(e.InstallPath), context); } base.OnOperationStarting(sender, e); }
protected override void OnOperationFinished(object sender, PackageOperationEventArgs e) { if (e.PackageOperationType != PackageOperationType.Uninstall) { return; } if (!Directory.Exists(e.InstallPath)) { return; } var fileName = string.Format("{0}.deleteme", e.PackageDetails.Id); var fullName = Path.Combine(e.InstallPath, fileName); using (File.Create(fullName)) { } }
protected virtual void OnOperationStarting(object sender, PackageOperationEventArgs e) { }
protected virtual void OnOperationFinished(object sender, PackageOperationEventArgs e) { }