/// <summary> /// Extracts file to specific path, then deleting file /// </summary> /// <param name="ZipFilePath"></param> /// <param name="PathToExtract"></param> public static void Extract(string ZipFilePath, string PathToExtract, bool OverwriteOldFiles, View.AddonView.AddonControl addonControlSender) { try { if (OverwriteOldFiles) { ExtractWithOverwriting(ZipFilePath, PathToExtract); } else { ExtractWithoutOverwriting(ZipFilePath, PathToExtract); } FileManager.DeleteFile(ZipFilePath); addonControlSender.DownloadingCompleted(); } catch (Exception e) { addonControlSender.DownloadingFailed(); string error = e.ToString(); throw; } }
/// <summary> /// Extracts File after download is completed /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <param name="FileName"></param> private void Download_Completed(object sender, System.ComponentModel.AsyncCompletedEventArgs e, View.AddonView.AddonControl addonControlSender) { string AddonArchiveTemporaryPath = $"{System.IO.Path.GetTempPath()}\\{Name}.zip"; Core.ZipFileManager.Extract(AddonArchiveTemporaryPath, @"C:\World of Warcraft 3.3.5a (no install)\Interface\AddOns", true, addonControlSender); }