public static void InstallPrimeHack(object sender, AsyncCompletedEventArgs e) { ui.writeLine("Extracting PrimeHackRelease.zip"); ZipArchive archive = ZipFile.OpenRead(Path.GetTempPath() + "\\PrimeHackRelease.zip"); foreach (ZipArchiveEntry file in archive.Entries) { string completeFileName = Path.Combine(".\\", file.FullName); string directory = Path.GetDirectoryName(completeFileName); if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); } if (File.Exists(completeFileName)) { if (completeFileName.EndsWith("hack_config.ini")) { continue; } long ziptime = file.LastWriteTime.ToFileTime(); long oldtime = File.GetLastWriteTime(completeFileName).ToFileTime(); if (ziptime == oldtime) { continue; } } if (file.Name != "") { file.ExtractToFile(completeFileName, true); } } archive.Dispose(); ui.writeLine("Deleting PrimeHackRelease.zip"); File.Delete(Path.GetTempPath() + "\\PrimeHackRelease.zip"); cfg.setVersion(sysversion); ui.writeLine("Successfully updated to version: " + sysversion); ui.FinishedInstalling(); }