public void Scan(bool auto) { if (DataDrive.Scanning) { return; } autoScanTimer.Stop(); Task.Factory.StartNew(() => { try { DataDrive.Scan(auto); UpdateAdditionalInfo(); } catch (Exception e) { LogFile.Log("Error occurred during scan of {0}: {1}", DataDrive.Root, e.Message); } finally { UpdateStatus(); Progress = 0; } } ); }