Esempio n. 1
0
 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();
         }
     }
 }
Esempio n. 2
0
        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();
            }
        }
Esempio n. 3
0
 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();
 }
Esempio n. 4
0
        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();
            }
        }
Esempio n. 5
0
        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();
            }
        }