public void extract() { label.Text = "Extracting update"; try { if (Directory.Exists(Globals.exefPath)) { Directory.Delete(Globals.exefPath, true); } } finally { ZipFile.ExtractToDirectory(Globals.exePath + "build.zip", Globals.exePath); File.Delete(Globals.exePath + "build.zip"); var json = new WebClient().DownloadString(Constants.releaseFiles + "version.json"); var j = new StreamReader(Globals.exePath + "version.json"); var j1 = j.ReadToEnd(); ver jj = JsonConvert.DeserializeObject <ver>(j1); j.Close(); var chksm = CreateDirectoryMd5(Globals.exefPath); Console.WriteLine(chksm); if (chksm != Constants.checksum) { label.Text = "File verification failed. Repairing..."; Dl(); } else { ready(); } } }
public void Check_Update() { label.Text = "Checking for updates..."; var json = new WebClient().DownloadString(Constants.releaseFiles + "version.json"); var j = new StreamReader(Globals.exePath + "version.json"); var j1 = j.ReadToEnd(); j.Close(); ver jj = JsonConvert.DeserializeObject <ver>(j1); ver Server = JsonConvert.DeserializeObject <ver>(json); if (jj.version == Server.version) { var chksm = CreateDirectoryMd5(Globals.exefPath); Console.WriteLine(chksm); if (chksm != Constants.checksum) { label.Text = "File verification failed. Repairing..."; Dl(); } else { ready(); } } else { Button_Play.IsEnabled = false; Dl(); } }
public void check_ver() { if (File.Exists(Globals.exePath + "version.json")) { var j = new StreamReader(Globals.exePath + "version.json"); var j1 = j.ReadToEnd(); ver jj = JsonConvert.DeserializeObject <ver>(j1); versionLabel.Text = "Launcher Version: " + jj.version; buildLabel.Text = "Launcher Version: " + jj.build; j.Close(); } else { using (FileStream fs = File.Create("version.json")) { byte[] info = new UTF8Encoding(true).GetBytes("{'version' : 0, 'build' : 0}"); fs.Write(info, 0, info.Length); } } selfCheck(); }
public void Check_Update() { Button_Play.IsEnabled = false; if (!Directory.Exists("./build/")) { Directory.CreateDirectory("./build/"); } filesToCheck.Clear(); foreach (string file in Directory.GetFiles(Globals.exefPath, "*", SearchOption.AllDirectories)) { filesToCheck.Add(file); } hashList.Clear(); getHashArray(filesToCheck, hashList); foreach (KeyValuePair <string, string> x in hashList) { Console.WriteLine(x); } var json = new WebClient().DownloadString(Constants.releaseFiles + "build/hashlist.json"); var serverHashList = JsonConvert.DeserializeObject <Dictionary <string, string> >(json); var diff = serverHashList.Where(x => !hashList.Contains(x)); filesToUpdate.Clear(); foreach (KeyValuePair <string, string> file in diff) { filesToUpdate.Add(file.Key.Replace("./", "/")); } if (filesToUpdate.Count > 0) { buildUpdate(filesToUpdate); } else { var json2 = new WebClient().DownloadString("http://18.192.38.56/release/version.json"); ver version = JsonConvert.DeserializeObject <ver>(json2); buildLabel.Text = version.build; ready(); } }
void selfCheck() { label.Text = "Checking for updates..."; Button_Play.IsEnabled = false; List <string> filesToCheck = new List <string>(); foreach (string file in Directory.GetFiles(Globals.exePath, "*", SearchOption.AllDirectories).Where(x => !x.StartsWith(Globals.exefPath))) { filesToCheck.Add(file); } Dictionary <string, string> hashList = new Dictionary <string, string>(); getHashArray(filesToCheck, hashList); foreach (KeyValuePair <string, string> hash in hashList) { Console.WriteLine(hash); } var json = new WebClient().DownloadString(Constants.releaseFiles + "launcher/hashlist.json"); var serverHashList = JsonConvert.DeserializeObject <Dictionary <string, string> >(json); var diff = serverHashList.Where(x => !hashList.Contains(x)); foreach (KeyValuePair <string, string> file in diff) { filesToUpdate.Add(file.Key.Replace("./", "/")); } if (filesToUpdate.Count > 0) { selfUpdate(filesToUpdate); } else { var json2 = new WebClient().DownloadString("http://18.192.38.56/release/version.json"); ver version = JsonConvert.DeserializeObject <ver>(json2); versionLabel.Text = version.version; Check_Update(); } }