private void ExtractZip(object status) { IProcessingCallback callback = status as IProcessingCallback; callback.Begin(); string sOpName = string.Empty; try { switch (MergeMode) { case Mode.Mode_Overwrite: sOpName = "Updating with file "; BackupRestore.Overwrite( LocalLibraryFile , this); break; case Mode.Mode_Merge: sOpName = "Merging with file "; BackupRestore.Merge( LocalLibraryFile , this); break; default: Debug.Assert(false); break; } } catch (Exception ex) { if (null != callback) { callback.Error(string.Format("{0} {1} failed with error: {2}" , sOpName, LocalLibraryFile, ex.Message)); } } // ending callback.End(); }