private void ExtractAll(object argument) { try { var folderPath = argument as string; if (!Directory.Exists(folderPath)) { throw new Exception("Directory doesn't exists."); } _epfArchive.ExtractProgress += _epfArchive_ExtractProgress; _epfArchive.ExtractAll(folderPath); } catch (Exception ex) { Status.Log.Error($"Unable to extract entries. Reason: {ex.Message}"); } finally { _epfArchive.ExtractProgress -= _epfArchive_ExtractProgress; } }