private static void z_ExtractProgress(object sender, ExtractProgressEventArgs e) { if (e.EntriesExtracted == e.EntriesTotal) { _extractThemeResult = ThemeInstallingResult.SUCCESS; } }
private static ThemeInstallingResult ExtractTheme(string themePath, string dir) { _extractThemeResult = ThemeInstallingResult.UNKNOWN; try { using (ZipFile z = new ZipFile(themePath, Encoding.UTF8)) { z.ExtractProgress += new EventHandler<ExtractProgressEventArgs>(z_ExtractProgress); z.ZipError += new EventHandler<ZipErrorEventArgs>(z_ZipError); z.ExtractAll(dir, ExtractExistingFileAction.OverwriteSilently); } } catch { _extractThemeResult = ThemeInstallingResult.ERROR; } while (_extractThemeResult == ThemeInstallingResult.UNKNOWN) { Thread.Sleep(20); } return _extractThemeResult; }
private static void z_ZipError(object sender, ZipErrorEventArgs e) { _extractThemeResult = ThemeInstallingResult.ERROR; }