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();
        }