private async Task <bool> Run(IcyWindVersionJson json, bool install) { if (install) { await Dispatcher.BeginInvoke(DispatcherPriority.Render, (Action)(() => { TextPanel.Children.Add(new Label { Content = "Starting IcyWind Installer", HorizontalContentAlignment = HorizontalAlignment.Center }); })); } else { Title = "IcyWind - Updating"; await Dispatcher.BeginInvoke(DispatcherPriority.Render, (Action)(() => { TextPanel.Children.Add(new Label { Content = "Starting IcyWind Updater", HorizontalContentAlignment = HorizontalAlignment.Center }); })); //If files exist delete them if (Directory.Exists(Path.Combine(Environment.CurrentDirectory, "IcyWindAssets"))) { Directory.Delete(Path.Combine(Environment.CurrentDirectory, "IcyWindAssets"), true); } if (Directory.Exists(Path.Combine(Environment.CurrentDirectory, "core"))) { Directory.Delete(Path.Combine(Environment.CurrentDirectory, "core"), true); } } using (var client = new WebClient()) { //If files exist delete them if (File.Exists(Path.Combine(Environment.CurrentDirectory, "assists.zip"))) { File.Delete(Path.Combine(Environment.CurrentDirectory, "assists.zip")); } if (File.Exists(Path.Combine(Environment.CurrentDirectory, "core.zip"))) { File.Delete(Path.Combine(Environment.CurrentDirectory, "core.zip")); } await Dispatcher.BeginInvoke(DispatcherPriority.Render, (Action)(() => { TextPanel.Children.Add(new Label { Content = "Downloading assists.zip", HorizontalContentAlignment = HorizontalAlignment.Center }); })); client.DownloadFile("https://cdn.icywindclient.com/" + json.Latest.Assists, Path.Combine(Environment.CurrentDirectory, "assists.zip")); await Dispatcher.BeginInvoke(DispatcherPriority.Render, (Action)(() => { TextPanel.Children.Add(new Label { Content = "Downloading core.zip", HorizontalContentAlignment = HorizontalAlignment.Center }); })); client.DownloadFile("https://cdn.icywindclient.com/" + json.Latest.Core, Path.Combine(Environment.CurrentDirectory, "core.zip")); await Dispatcher.BeginInvoke(DispatcherPriority.Render, (Action)(() => { TextPanel.Children.Add(new Label { Content = "Extracting assists.zip", HorizontalContentAlignment = HorizontalAlignment.Center }); })); ExtractZipContent(Path.Combine(Environment.CurrentDirectory, "assists.zip"), null, Environment.CurrentDirectory); await Dispatcher.BeginInvoke(DispatcherPriority.Render, (Action)(() => { TextPanel.Children.Add(new Label { Content = "Extracting core.zip", HorizontalContentAlignment = HorizontalAlignment.Center }); })); ExtractZipContent(Path.Combine(Environment.CurrentDirectory, "core.zip"), null, Environment.CurrentDirectory); await Dispatcher.BeginInvoke(DispatcherPriority.Render, (Action)(() => { TextPanel.Children.Add(new Label { Content = "Cleaning up files", HorizontalContentAlignment = HorizontalAlignment.Center }); })); File.Delete(Path.Combine(Environment.CurrentDirectory, "assists.zip")); File.Delete(Path.Combine(Environment.CurrentDirectory, "core.zip")); await Dispatcher.BeginInvoke(DispatcherPriority.Render, (Action)(() => { TextPanel.Children.Add(new Label { Content = "Starting up...", HorizontalContentAlignment = HorizontalAlignment.Center }); Close(); })); } return(true); }
public Task <bool> Load(IcyWindVersionJson json, bool install) { return(Run(json, install)); }