public static async void DownloadUo() { try { var doc = await Updates.GetUpdates(Constants.UODownload); UOUpdateObj = (UOModel) Updates.CreateUpdate(typeof (UOModel), doc); UOUpdateObj.DisplayName = "UO Install"; UOUpdateObj.StringType = "Ultima Online"; UOUpdateObj.Description = "Ultima Online Installatin"; UOUpdateObj.IsActive = true; if (doc != null && UOUpdateObj != null) { EventController.InvokeUpdatesRetrieved(); var filepath = Path.Combine(Config.Instance.UOPath, UOUpdateObj.FileName); UOUpdateObj.Status = AssemblyStatus.Downloading; try { Messenger.Default.Send( new MessengerHelper.ToastMessage( "The Ultima Online installer has been added to the update manager queue.")); if ( await UOUpdateObj.Download(filepath )) { InstallUO(); } } catch (Exception) {; UOUpdateObj.Status = AssemblyStatus.Error; } } else { UOUpdateObj.Status = AssemblyStatus.Error; } } catch (Exception) { UOUpdateObj.Status = AssemblyStatus.Error; } }
public static async void DownloadUo() { try { var doc = await Updates.GetUpdates(Constants.UODownload); UOUpdateObj = (UOModel)Updates.CreateUpdate(typeof(UOModel), doc); UOUpdateObj.DisplayName = "UO Install"; UOUpdateObj.StringType = "Ultima Online"; UOUpdateObj.Description = "Ultima Online Installatin"; UOUpdateObj.IsActive = true; if (doc != null && UOUpdateObj != null) { EventController.InvokeUpdatesRetrieved(); var filepath = Path.Combine(Config.Instance.UOPath, UOUpdateObj.FileName); UOUpdateObj.Status = AssemblyStatus.Downloading; try { Messenger.Default.Send( new MessengerHelper.ToastMessage( "The Ultima Online installer has been added to the update manager queue.")); if ( await UOUpdateObj.Download(filepath )) { InstallUO(); } } catch (Exception) {; UOUpdateObj.Status = AssemblyStatus.Error; } } else { UOUpdateObj.Status = AssemblyStatus.Error; } } catch (Exception) { UOUpdateObj.Status = AssemblyStatus.Error; } }
private static void InstallUO() { try { UOUpdateObj.Status = AssemblyStatus.Installing; var uoProcess = new Process { StartInfo = { FileName = Path.Combine(Config.Instance.UOPath, UOUpdateObj.FileName), Arguments = "/DIR=\"" + Config.Instance.UOPath + "\"", CreateNoWindow = true }, EnableRaisingEvents = true }; uoProcess.Exited += delegate { if (uoProcess.ExitCode == 0) { if (File.Exists(Path.Combine(Config.Instance.UOPath, UOUpdateObj.FileName))) { File.Delete(Path.Combine(Config.Instance.UOPath, UOUpdateObj.FileName)); } if (!IsInstalled()) { var installs = FindInstalls(); if (installs.Count > 0) { Config.Instance.UOPath = installs[0]; } } Messenger.Default.Send(new MessengerHelper.ToastMessage("Ultima Online has finished installing.")); Messenger.Default.Send( "CheckPlayInstall"); Updates.Instance.QueueLoad = true; if (IsInstalled()) { Updates.InitializeUpdates(); } UOUpdateObj = null; EventController.InvokeDownloadsComplete(); } else { UOUpdateObj.Status = AssemblyStatus.Error; Messenger.Default.Send( new MessengerHelper.ToastMessage( "The Ultima Online installer could not install Ultima Online.")); } }; uoProcess.Start(); } catch (Exception ex) { Messenger.Default.Send( new MessengerHelper.ToastMessage("The Ultima Online installer was unable to start.")); } }
private static void InstallUO() { try { UOUpdateObj.Status = AssemblyStatus.Installing; var uoProcess = new Process { StartInfo = { FileName = Path.Combine(Config.Instance.UOPath, UOUpdateObj.FileName), Arguments = "/DIR=\"" + Config.Instance.UOPath + "\"", CreateNoWindow = true }, EnableRaisingEvents = true }; uoProcess.Exited += delegate { if (uoProcess.ExitCode == 0) { if (File.Exists(Path.Combine(Config.Instance.UOPath, UOUpdateObj.FileName))) File.Delete(Path.Combine(Config.Instance.UOPath, UOUpdateObj.FileName)); if (!IsInstalled()) { var installs = FindInstalls(); if (installs.Count > 0) { Config.Instance.UOPath = installs[0]; } } Messenger.Default.Send(new MessengerHelper.ToastMessage("Ultima Online has finished installing.")); Messenger.Default.Send( "CheckPlayInstall"); Updates.Instance.QueueLoad = true; if (IsInstalled()) Updates.InitializeUpdates(); UOUpdateObj = null; EventController.InvokeDownloadsComplete(); } else { UOUpdateObj.Status = AssemblyStatus.Error; Messenger.Default.Send( new MessengerHelper.ToastMessage( "The Ultima Online installer could not install Ultima Online.")); } }; uoProcess.Start(); } catch (Exception ex) { Messenger.Default.Send( new MessengerHelper.ToastMessage("The Ultima Online installer was unable to start.")); } }