public static void CheckChangelog() { if (!Functions.IsWindowsVistaOrNewer()) { return; } bool internetok = IsInternetAvailable(); if (internetok == false) { MessageBox.Show("There's no Internet connection.\n\nYou can't see the changelog without one.", String.Format("{0} - No Internet connection available", ProductName), MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { try { Octokit.Release Release = UpdateClient.Repository.Release.GetLatest("KeppySoftware", "OmniMIDI").Result; Process.Start(String.Format(UpdatePage, Release.TagName)); } catch (Exception ex) { Functions.ShowErrorDialog(ErrorType.Error, System.Media.SystemSounds.Exclamation, "Unknown error", "An error has occurred while trying to show you the latest changelog.\nPlease try again later.\n\nPress OK to continue.", true, ex); } } }
internal ReleaseItemViewModel(Octokit.Release release) { Id = release.Id; Created = (release.PublishedAt.HasValue ? release.PublishedAt.Value : release.CreatedAt).LocalDateTime; Name = string.IsNullOrEmpty(release.Name) ? release.TagName : release.Name; GoToCommand = ReactiveCommand.Create(); }
private void Instance_OnUpdateChecked(Octokit.Release release) { if (UpdateManager.WaitingForRestart) { StatusBar.Text = "An update is already in progress, Please restart IRSE."; return; } if (!UpdateManager.HasUpdate) { StatusBar.Text = Program.Localization.Sentences["GuiRunningLatest"]; return; } var result = MessageBox.Show(string.Format( Program.Localization.Sentences["GuiNewVersion"], UpdateManager.NewVersionNumber, release.Name, release.Assets.FirstOrDefault().DownloadCount, release.Assets.First().CreatedAt.ToLocalTime(), release.Body), Program.Localization.Sentences["GuiIRSEUpdater"], MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (result == DialogResult.Yes) { ServerInstance.Instance.Handlers.UniverseHandler.ForceGalaxySave(); UpdateManager.Instance.DownloadLatestRelease(Config.Instance.Settings.EnableDevelopmentVersion); } else { StatusBar.Text = Program.Localization.Sentences["GuiCanceledUpdate"]; } }
private void Instance_OnUpdateChecked(Octokit.Release release) { if (!UpdateManager.HasUpdate) { StatusBar.Text = $"You are running the latest version!"; return; } ServerInstance.Instance.Save(true); var result = MessageBox.Show( $"A new version has been detected: { UpdateManager.NewVersionNumber }\r\n" + $"\r\n Release Information:\r\n" + $"Release Name: {release.Name}\r\n" + $"Download Count: {release.Assets.FirstOrDefault().DownloadCount}\r\n" + $"Release Published {release.Assets.First().CreatedAt.ToLocalTime()}\r\n" + $"Release Description:\r\n\r\n" + $"{release.Body}\r\n\r\n" + $"Would you like to update now?", "HES Updater", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (result == DialogResult.Yes) { UpdateManager.Instance.DownloadLatestRelease(Config.Instance.Settings.EnableDevelopmentVersion); } else { StatusBar.Text = "The Update has been canceled."; } }
private async void CheckForUpdate() { // Only check if we haven't checked before if (latest_release != null) { return; } var client = new Octokit.GitHubClient(new Octokit.ProductHeaderValue("TurtleHub")); // Check to see if there is an update for TurtleHub Logger.LogMessageWithData("Checking for new TurtleHub release"); var latest = await client.Repository.Release.GetLatest("dail8859", "TurtleHub"); Logger.LogMessage("\tFound " + latest.TagName); var thatVersion = Version.Parse(latest.TagName.Substring(1)); // remove the v from e.g. v0.1.1 var thisVersion = typeof(Plugin).Assembly.GetName().Version; Logger.LogMessage("\tThis " + thisVersion.ToString()); Logger.LogMessage("\tThat " + thatVersion.ToString()); if (thatVersion > thisVersion) { updateNotifyIcon.BalloonTipText = string.Format(updateNotifyIcon.BalloonTipText, latest.TagName); updateNotifyIcon.Visible = true; updateNotifyIcon.ShowBalloonTip(15 * 1000); } latest_release = latest; }
public async Task GetUpdate(string exe) { try { uDebugLogAdd("Starting GetUpdate task"); var releases = await gitClient.Repository.Release.GetAll("rwobig93", "Panacea"); Octokit.Release recentRelease = null; if (argBeta) { recentRelease = releases.ToList().FindAll(x => x.Prerelease == true && x.Assets[0].Name.Contains("Panacea")).OrderBy(x => x.TagName).Last(); } else { recentRelease = releases.ToList().FindAll(x => x.Prerelease == false && x.Assets[0].Name.Contains("Panacea")).OrderBy(x => x.TagName).Last(); } Version prodVersion = new Version(recentRelease.TagName); prodVer = prodVersion; uDebugLogAdd($"ProdVer: {prodVer}"); productionURI = $@"{baseURI}/{recentRelease.TagName}/{exe}"; uDebugLogAdd($"URI: {productionURI}"); uDebugLogAdd($"Finished getting github recent version"); } catch (InvalidOperationException ioe) { uDebugLogAdd($"Unable to get updates, reason: {ioe.Message}"); uStatusUpdate("Unable to check for updates, couldn't find any versions in the repository"); return; } catch (Exception ex) { LogException(ex); } }
private void Instance_OnUpdateDownloaded(Octokit.Release release) { if (UpdateManager.GUIMode) { StatusBar.Text = Program.Localization.Sentences["GuiUpdateApply"]; UpdateManager.Instance.ApplyUpdate(); } }
private void Instance_OnUpdateDownloaded(Octokit.Release release) { if (UpdateManager.GUIMode) { StatusBar.Text = "The Update is being applied.."; UpdateManager.Instance.ApplyUpdate(); } }
/// <summary> /// A generic update checker for github projects /// The tag text is used as version field from github releases, the description text should contain an installer link pointed at raw.githubusercontent.com /// </summary> /// <returns></returns> private static async Task UpdaterThreadAsync() { retry: Octokit.GitHubClient client = new Octokit.GitHubClient(new Octokit.ProductHeaderValue(product_name)); IReadOnlyList <Octokit.Release> rlsAll = await client.Repository.Release.GetAll(github_user, product_name); if (rlsAll != null && rlsAll.Count > 0) { Octokit.Release latest = rlsAll.OrderBy(r => r.CreatedAt).Last(); Version latest_version = null; if (Version.TryParse(latest.TagName, out latest_version)) { if (Assembly.GetExecutingAssembly().GetName().Version < latest_version) { if (MessageBox.Show($"A New Version {latest.TagName} of {product_name} has been released, do you wish to update?", "New Version Available!", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { string[] body = latest.Body.Split(new[] { '"' }, StringSplitOptions.RemoveEmptyEntries); string installerUrl = string.Empty; foreach (var tmp in body) { if (tmp.Contains("raw.githubusercontent.com")) { installerUrl = tmp; break; } } if (installerUrl != string.Empty) { if (File.Exists("update.msi")) { File.Delete("update.msi"); } using (var _client = new WebClient()) { _client.DownloadFile(installerUrl, "update.msi"); } Process.Start("update.msi"); Application.Exit(); Environment.Exit(Environment.ExitCode); } else { Process.Start($"https://github.com/{github_user}/{product_name}/releases"); } } } } } await Task.Delay(updatecheck_interval_mins * 60000); goto retry; }
internal GitHubRelease(Octokit.Release release, int index) { CreatedAt = release.CreatedAt; Body = release.Body; Name = release.Name; TargetCommitish = release.TargetCommitish; TagName = release.TagName; Id = release.Id; Url = release.Url; Index = index; }
/// <summary> /// Gets the download path of the latest release in GitHub. /// </summary> /// <returns>The download path of the latest release in GitHub.</returns> private async Task <string> GetLatestReleaseDownloadPathInGitHubAsync() { string downloadUrl = string.Empty; Octokit.GitHubClient client = new Octokit.GitHubClient(new Octokit.ProductHeaderValue("searcher")); Octokit.Release latestRelease = await client.Repository.Release.GetLatest("wizden", "searcher"); if (latestRelease != null && latestRelease.Assets != null && latestRelease.Assets.Count > 0) { downloadUrl = latestRelease.Assets[0].BrowserDownloadUrl; } return(downloadUrl); }
private ReleaseItemViewModel CreateItemViewModel(Octokit.Release release) { var releaseItem = new ReleaseItemViewModel(release); releaseItem.GoToCommand.Subscribe(_ => { var vm = this.CreateViewModel <ReleaseViewModel>(); vm.RepositoryName = RepositoryName; vm.RepositoryOwner = RepositoryOwner; vm.ReleaseId = release.Id; NavigateTo(vm); }); return(releaseItem); }
private void Instance_OnUpdateApplied(Octokit.Release release) { var result = MessageBox.Show( Program.Localization.Sentences["GuiDialogMustRestart"], Program.Localization.Sentences["GuiExtenderUpdater"], MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation); if (result == DialogResult.Yes) { Program.Restart(); } else { StatusBar.Text = Program.Localization.Sentences["GuiNeedsRestart"]; } }
private async void Window_Initialized(object sender, EventArgs e) { var gitHubClient = new Octokit.GitHubClient(new Octokit.ProductHeaderValue("TexPup")); try { Octokit.Release release = await gitHubClient.Repository.Release.GetLatest("JKAnderson", "TexPup"); if (SemVersion.Parse(release.TagName) > System.Windows.Forms.Application.ProductVersion) { UpdateHyperlink.NavigateUri = new Uri(release.HtmlUrl); UpdateStatusBarItem.Visibility = Visibility.Visible; } } catch { } }
private async void FormMain_Load(object sender, EventArgs e) { Text = "U3M " + Application.ProductVersion; enableControls(true); Location = settings.WindowLocation; if (settings.WindowSize.Width >= MinimumSize.Width && settings.WindowSize.Height >= MinimumSize.Height) { Size = settings.WindowSize; } if (settings.WindowMaximized) { WindowState = FormWindowState.Maximized; } txtGameDir.Text = settings.GameDir; cbxData1.Checked = settings.Data1Checked; cbxData2.Checked = settings.Data2Checked; cbxData3.Checked = settings.Data3Checked; cbxData4.Checked = settings.Data4Checked; cbxData5.Checked = settings.Data5Checked; cbxDLC1.Checked = settings.DLC1Checked; cbxDLC2.Checked = settings.DLC2Checked; Octokit.GitHubClient gitHubClient = new Octokit.GitHubClient(new Octokit.ProductHeaderValue("U3M")); try { Octokit.Release release = await gitHubClient.Repository.Release.GetLatest("JKAnderson", "U3M"); if (SemVersion.Parse(release.TagName) > Application.ProductVersion) { lblUpdate.Visible = false; LinkLabel.Link link = new LinkLabel.Link(); link.LinkData = UPDATE_LINK; llbUpdate.Links.Add(link); llbUpdate.Visible = true; } else { lblUpdate.Text = "App up to date"; } } catch (Exception ex) when(ex is HttpRequestException || ex is Octokit.ApiException || ex is ArgumentException) { lblUpdate.Text = "Update status unknown"; } }
private void Instance_OnUpdateApplied(Octokit.Release release) { var result = MessageBox.Show( $"You must restart before the update can be completed!\r\n\r\n" + $"Would you like to restart now?\r\n" + $"Note: The server was saved after downloading this release.", "HES Updater", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation); if (result == DialogResult.Yes) { HES.Restart(); } else { StatusBar.Text = "HES needs to be restarted before you can use the new features!"; } }
public async void CheckForUpdates(Version currentVersion) { try { var client = new Octokit.GitHubClient(new Octokit.ProductHeaderValue("GamePipe")); var releases = client.Repository.Release.GetAll("DjScribbles", "GamePipe"); Version latestVersion = null; Octokit.Release latestRelease = null; foreach (var item in await releases) { try { var thisVersion = new Version(item.TagName); if (thisVersion.CompareTo(latestVersion) > 0) { latestVersion = thisVersion; latestRelease = item; } } catch { } } if ((currentVersion.CompareTo(latestVersion) < 0) && (latestRelease != null)) { var mw = (MainWindow as MainWindow); if (mw != null) { mw.UpdateVm.IsNewVersionAvailable = true; mw.UpdateVm.NewVersionUrl = latestRelease.HtmlUrl; } //var result = MessageBox.Show("A new version of Game Pipe is available, do you want to take a look?", "New Version Available", MessageBoxButton.YesNo, MessageBoxImage.Question); //if (result == MessageBoxResult.Yes) //{ // System.Diagnostics.Process.Start(latestRelease.HtmlUrl); //} } } catch (Exception ex) { GamePipeLib.Utils.Logging.Logger.Error("Failed to check for updates due to exception:", ex); } }
private void ChangelogLatest_Click(object sender, EventArgs e) { try { Octokit.Release Release = UpdateSystem.UpdateClient.Repository.Release.GetLatest("KeppySoftware", "OmniMIDI").Result; Version x = null; Version.TryParse(Release.TagName, out x); new ChangelogWindow(x.ToString(), false).ShowDialog(); } catch (Exception ex) { Program.ShowError( 4, "Error", "An error has occured while interrogating GitHub for the latest release.\n" + "This is not a serious error, it might mean that your IP has reached the maximum requests allowed to the GitHub servers.", ex); } }
public AppRelease(Octokit.Release release) { const string versionRegex = @"(\d+(?:\.\d+){1,3})"; var match = Regex.Match(release.Name, versionRegex); if (match.Success) { Version = Version.Parse(match.Groups[1].Value); } Name = release.Name; Tag = release.TagName; Description = release.Body; ReleaseDate = release.PublishedAt; DetailsUrl = release.HtmlUrl; var asset = release.Assets.OrderByDescending(a => a.Size) .FirstOrDefault(a => a.Name.ToLower().EndsWith(".exe") || a.Name.ToLower().EndsWith(".msi")); DownloadUrl = asset?.BrowserDownloadUrl; DownloadSize = asset?.Size ?? 0; }
private async void FormMain_Load(object sender, EventArgs e) { Text = "Irregulator " + Application.ProductVersion; Location = settings.WindowLocation; if (settings.WindowSize.Width >= MinimumSize.Width && settings.WindowSize.Height >= MinimumSize.Height) { Size = settings.WindowSize; } if (settings.WindowMaximized) { WindowState = FormWindowState.Maximized; } Octokit.GitHubClient gitHubClient = new Octokit.GitHubClient(new Octokit.ProductHeaderValue("Irregulator")); gitHubClient.SetRequestTimeout(new TimeSpan(0, 2, 0)); try { Octokit.Release release = await gitHubClient.Repository.Release.GetLatest("JKAnderson", "Irregulator"); if (SemVersion.Parse(release.TagName) > Application.ProductVersion) { lblUpdate.Visible = false; LinkLabel.Link link = new LinkLabel.Link(); link.LinkData = UPDATE_LINK; llbUpdate.Links.Add(link); llbUpdate.Visible = true; } else { lblUpdate.Text = "App up to date"; } } catch (Exception ex) when(ex is HttpRequestException || ex is Octokit.ApiException || ex is ArgumentException) { lblUpdate.Text = "Update status unknown"; } }
public static void CheckChangelog() { bool internetok = IsInternetAvailable(); if (internetok == false) { MessageBox.Show("There's no Internet connection.\n\nYou can't see the changelog without one.", String.Format("{0} - No Internet connection available", ProductName), MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { try { Octokit.Release Release = UpdateClient.Repository.Release.GetLatest("KeppySoftware", "OmniConverter").Result; Process.Start(String.Format(UpdatePage, Release.TagName)); } catch (Exception ex) { Debug.ShowMsgBox( "Unknown error", "An error has occurred while trying to show you the latest changelog.\nPlease try again later.", ex.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
public UpdateForm(Octokit.Release release) { InitializeComponent(); rel = release; }
internal Release(OctokitRelease release) { OctokitRelease = release; _assets.AddRange(release.Assets.Select(asset => new ReleaseAsset(asset))); }
public (DateTime created, int pullRequest) ParseReleaseHtmlToCountPullRequests(string patternUrl, Octokit.Release release) { var created = DateTime.MinValue; var pullRequests = 0; try { var htmlUrl = release.HtmlUrl; Console.WriteLine(htmlUrl); string html = string.Empty; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(htmlUrl); request.Timeout = Timeout.Infinite; request.KeepAlive = true; request.AutomaticDecompression = DecompressionMethods.GZip; using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) using (Stream stream = response.GetResponseStream()) using (StreamReader reader = new StreamReader(stream)) { html = reader.ReadToEnd(); // find commit url from the html string pattern = @"href=" + '\"' + patternUrl; string input = html; created = ScrapCreatedDate(input); var m = Regex.Matches(input, pattern, RegexOptions.IgnoreCase); if (m.Count > 0) { Parallel.ForEach(m.OfType <Match>(), (match) => { var pullUrl = input.Substring(match.Index, input.IndexOf('"', match.Index + 6) - match.Index); var pullId = Convert.ToInt32(!pullUrl.Split('/')[6].Contains('#') ? pullUrl.Split('/')[6] : pullUrl.Split('/')[6].Split('#')[0]); Console.WriteLine(pullId); // rel.NumberofPullRequests += 1; pullRequests++; }); } } } catch (Exception ex) { } return(created, pullRequests); }
public static void CheckForUpdates(bool forced, bool startup, bool isitfromthechangelogwindow) { bool internetok = IsInternetAvailable(); if (internetok == false) { NoUpdates(startup, false); } else { try { Octokit.Release Release = UpdateClient.Repository.Release.GetLatest("KeppySoftware", "OmniConverter").Result; Version DriverOnline = null; Version.TryParse(Release.TagName, out DriverOnline); Version DriverCurrent = Assembly.GetExecutingAssembly().GetName().Version;; if (Properties.Settings.Default.UpdateBranch == "canary") { if (DriverCurrent.Major < DriverOnline.Major || DriverCurrent.Minor < DriverOnline.Minor) { if ((DriverCurrent.Build >= DriverOnline.Build || DriverCurrent.Build < DriverOnline.Build)) { TriggerUpdateWindow(DriverCurrent, DriverOnline, Release.TagName, forced, startup, isitfromthechangelogwindow); } else { if (forced) { TriggerUpdateWindow(DriverCurrent, DriverOnline, DriverCurrent.ToString(), forced, startup, isitfromthechangelogwindow); } else { NoUpdates(startup, internetok); } } } else { if (forced) { TriggerUpdateWindow(DriverCurrent, DriverOnline, DriverCurrent.ToString(), forced, startup, isitfromthechangelogwindow); } else { NoUpdates(startup, internetok); } } } else if (Properties.Settings.Default.UpdateBranch == "normal") { if (DriverCurrent.Major < DriverOnline.Major) { if ((DriverCurrent.Minor >= DriverOnline.Minor || DriverCurrent.Minor < DriverOnline.Minor)) { TriggerUpdateWindow(DriverCurrent, DriverOnline, Release.TagName, forced, startup, isitfromthechangelogwindow); } else { if (forced) { TriggerUpdateWindow(DriverCurrent, DriverOnline, DriverCurrent.ToString(), forced, startup, isitfromthechangelogwindow); } else { NoUpdates(startup, internetok); } } } else { if (forced) { TriggerUpdateWindow(DriverCurrent, DriverOnline, DriverCurrent.ToString(), forced, startup, isitfromthechangelogwindow); } else { NoUpdates(startup, internetok); } } } else if (Properties.Settings.Default.UpdateBranch == "delay") { if (DriverCurrent.Major < DriverOnline.Major) { TriggerUpdateWindow(DriverCurrent, DriverOnline, Release.TagName, forced, startup, isitfromthechangelogwindow); } else { if (forced) { TriggerUpdateWindow(DriverCurrent, DriverOnline, DriverCurrent.ToString(), forced, startup, isitfromthechangelogwindow); } else { NoUpdates(startup, internetok); } } } } catch (Exception ex) { Debug.ShowMsgBox( "Unknown error", "An error has occurred while checking for updates.\nPlease try again later.", ex.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error); NoUpdates(startup, internetok); } } }
private void mnuCheckForUpdates_Click(object sender, EventArgs e) { System.Threading.Tasks.Task <IReadOnlyList <Octokit.Release> > releases; Octokit.Release latest = null; ProgressDialog progressDownload = new ProgressDialog(); Thread thread = new Thread(() => { Octokit.GitHubClient client = new Octokit.GitHubClient(new Octokit.ProductHeaderValue("alexgracianoarj")); releases = client.Repository.Release.GetAll("alexgracianoarj", "nclass"); latest = releases.Result[0]; Console.Write(latest.Name); if (progressDownload.InvokeRequired) { progressDownload.BeginInvoke(new Action(() => progressDownload.Close())); } }); thread.Start(); progressDownload.Text = "Update"; progressDownload.lblPleaseWait.Text = "Checking..."; progressDownload.SetIndeterminate(true); progressDownload.ShowDialog(); double latestVersion = Convert.ToDouble(latest.TagName.Replace("v", ""), System.Globalization.CultureInfo.InvariantCulture); double programVersion = Convert.ToDouble(Program.GetVersionString().Split(' ')[1], System.Globalization.CultureInfo.InvariantCulture); if (latestVersion > programVersion) { if (MessageBox.Show("There is a new version of NClass.\n\nDo you want download the new version and install it now?", "NClass", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == System.Windows.Forms.DialogResult.Yes) { thread = new Thread(() => { WebClient wc = new WebClient(); wc.DownloadProgressChanged += new DownloadProgressChangedEventHandler((sen, env) => { double bytesIn = double.Parse(env.BytesReceived.ToString()); double totalBytes = double.Parse(env.TotalBytesToReceive.ToString()); double percentage = bytesIn / totalBytes * 100; if (progressDownload.InvokeRequired) { progressDownload.BeginInvoke(new Action(() => progressDownload.lblPleaseWait.Text = "Downloaded " + Convert.ToInt32(percentage) + "% - " + (env.BytesReceived / 1024) + " KB of " + (env.TotalBytesToReceive / 1024) + " KB")); } if (progressDownload.InvokeRequired) { progressDownload.BeginInvoke(new Action(() => progressDownload.progressBar1.Value = Convert.ToInt32(percentage))); } }); wc.DownloadFileCompleted += new AsyncCompletedEventHandler((sen, env) => { // Close the dialog if it hasn't been already if (progressDownload.InvokeRequired) { progressDownload.BeginInvoke(new Action(() => progressDownload.Close())); } System.Diagnostics.Process.Start(Path.GetTempPath() + "NClass_Update.exe"); Application.Exit(); }); wc.DownloadFileAsync(new Uri(latest.Assets[0].BrowserDownloadUrl), Path.GetTempPath() + "NClass_Update.exe"); }); thread.Start(); progressDownload.Text = "Update"; progressDownload.lblPleaseWait.Text = "Downloading..."; progressDownload.SetIndeterminate(false); progressDownload.ShowDialog(); } } else { MessageBox.Show("NClass already is updated.", "NClass", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
public Form1() { try { Octokit.GitHubClient github = new Octokit.GitHubClient(new Octokit.ProductHeaderValue("NoodleManager")); Octokit.Release latest = github.Repository.Release.GetLatest("tommaier123", "NoodleManager").Result; if (Int32.Parse(GlobalVariables.TagName.Substring(1).Replace(".", "")) < Int32.Parse(latest.TagName.Substring(1).Replace(".", ""))) { ErrorDialog errorDialog = new ErrorDialog("New Update to " + latest.TagName + " available:" + Environment.NewLine + Environment.NewLine + latest.Body + Environment.NewLine + Environment.NewLine + "Do you want to Download it?"); DialogResult result = errorDialog.ShowDialog(); if (result == DialogResult.OK) { #if DEBUG #else UpdateFiles(); #endif } } } catch (Exception e) { using (StreamWriter sw = new StreamWriter(Path.Combine(Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location), "Log.txt"), true)) { sw.WriteLine(e.ToString()); } } #if DEBUG #else RegisterUriScheme(); #endif InitializeComponent(); this.labelNM1.Text = GlobalVariables.TagName; Label te = new Label(); te.Text = "Mods Coming Soon"; te.Size = new Size(600, 300); te.Font = new System.Drawing.Font("Microsoft Sans Serif", 30F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); te.ForeColor = System.Drawing.Color.White; modMenu.Controls.Add(te); this.pictureBoxNM1.SendToBack(); this.FormBorderStyle = FormBorderStyle.None; this.DoubleBuffered = true; this.SetStyle(ControlStyles.ResizeRedraw, true); this.searchMode.DataSource = new string[] { "All", "Title", "Mapper", "Artist" }; this.displayMode.DataSource = new string[] { "All", "Available", "Installed" }; this.FormClosing += FormclosingCallback; this.searchText.KeyDown += new KeyEventHandler(this.SearchKeyDownCallback); if (!settingsMenu.Check()) { ShowSettings(); } else { if (File.Exists("ToDownload.txt")) { watcher = new FileSystemWatcher(); string applicationLocation = System.Reflection.Assembly.GetEntryAssembly().Location; watcher.Path = "./"; watcher.NotifyFilter = NotifyFilters.LastWrite; watcher.Filter = "ToDownload.txt"; watcher.Changed += OnFileChanged; watcher.EnableRaisingEvents = true; } this.songMenu.Focus(); if (ReadDownloadFile() == false) { Search(); } } }
public Form1() { try { Octokit.GitHubClient github = new Octokit.GitHubClient(new Octokit.ProductHeaderValue("NoodleManager")); Octokit.Release latest = github.Repository.Release.GetLatest("tommaier123", "NoodleManager").Result; if (GlobalVariables.TagName != latest.TagName) { ErrorDialog errorDialog = new ErrorDialog("New Update to " + latest.TagName + " available:" + Environment.NewLine + Environment.NewLine + latest.Body + Environment.NewLine + Environment.NewLine + "Do you want to Download it?"); DialogResult result = errorDialog.ShowDialog(); if (result == DialogResult.OK) { #if DEBUG #else UpdateFiles(); #endif } } } catch (Exception e) { using (StreamWriter sw = new StreamWriter(Path.Combine(Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location), "Log.txt"), true)) { sw.WriteLine(e.ToString()); } } #if DEBUG #else RegisterUriScheme(); #endif InitializeComponent(); this.labelNM1.Text = GlobalVariables.TagName; Label te = new Label(); te.Text = "Mods Coming Soon"; te.Size = new Size(600, 300); te.Font = new System.Drawing.Font("Microsoft Sans Serif", 30F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); te.ForeColor = System.Drawing.Color.White; modMenu.Controls.Add(te); this.pictureBoxNM1.SendToBack(); this.FormBorderStyle = FormBorderStyle.None; this.DoubleBuffered = true; this.SetStyle(ControlStyles.ResizeRedraw, true); this.searchMode.DataSource = new string[] { "All", "Title", "Mapper", "Artist" }; this.displayMode.DataSource = new string[] { "All", "Available", "Installed" }; this.FormClosing += FormclosingCallback; this.searchText.KeyDown += new KeyEventHandler(this.SearchKeyDownCallback); if (!Directory.Exists(Path.Combine(Properties.Settings.Default.path, @"CustomSongs\"))) { string reg = Encoding.Default.GetString((byte[])Registry.GetValue(@"HKEY_CURRENT_USER\SOFTWARE\Kluge Interactive\SynthRiders", "com.synthriders.installpath_h4259148619", "")); Properties.Settings.Default.path = string.Concat(reg.Split(Path.GetInvalidPathChars())); Properties.Settings.Default.Save(); } if (!Directory.Exists(Path.Combine(Properties.Settings.Default.path, @"CustomSongs\"))) { ShowSettings(); } else { watcher = new FileSystemWatcher(); string applicationLocation = System.Reflection.Assembly.GetEntryAssembly().Location; watcher.Path = "./"; watcher.NotifyFilter = NotifyFilters.LastWrite; watcher.Filter = "ToDownload.txt"; watcher.Changed += OnFileChanged; watcher.EnableRaisingEvents = true; this.songMenu.Focus(); if (ReadDownloadFile() == false) { DownloadString(baseurl + beatmapsurl + "&&sort=published_at,DESC"); } } }
public static string CheckForUpdatesMini() { if (!Functions.IsWindowsVistaOrNewer()) { return("nointernet"); } Program.DebugToConsole(false, "Checking for updates...", null); bool internetok = IsInternetAvailable(); if (internetok == false) { Program.DebugToConsole(false, "No Internet available.", null); return("nointernet"); } else { try { Octokit.Release Release = UpdateClient.Repository.Release.GetLatest("KeppySoftware", "OmniMIDI").Result; FileVersionInfo Driver = FileVersionInfo.GetVersionInfo(UpdateFileVersion); Version DriverOnline = null; Version.TryParse(Release.TagName, out DriverOnline); Version DriverCurrent = null; Version.TryParse(Driver.FileVersion.ToString(), out DriverCurrent); if (Properties.Settings.Default.UpdateBranch == "canary") { if (DriverCurrent < DriverOnline) { Program.DebugToConsole(false, String.Format("New version found. ({0})", Release.TagName), null); return("yes"); } else { Program.DebugToConsole(false, String.Format("No updates have been found. Latest canary release is {0}.", Release.TagName), null); return("no"); } } else if (Properties.Settings.Default.UpdateBranch == "normal") { if (DriverCurrent.Major < DriverOnline.Major || DriverCurrent.Minor < DriverOnline.Minor) { if ((DriverCurrent.Build >= DriverOnline.Build || DriverCurrent.Build < DriverOnline.Build)) { Program.DebugToConsole(false, String.Format("New version found. ({0})", Release.TagName), null); return("yes"); } else { Program.DebugToConsole(false, String.Format("No updates have been found. Latest canary release is {0}.", Release.TagName), null); return("no"); } } else { Program.DebugToConsole(false, String.Format("No updates have been found. Latest canary release is {0}.", Release.TagName), null); return("no"); } } else if (Properties.Settings.Default.UpdateBranch == "delay") { if (DriverCurrent.Major < DriverOnline.Major) { if ((DriverCurrent.Minor >= DriverOnline.Minor || DriverCurrent.Minor < DriverOnline.Minor)) { Program.DebugToConsole(false, String.Format("New version found. ({0})", Release.TagName), null); return("yes"); } else { Program.DebugToConsole(false, String.Format("No updates have been found. Latest canary release is {0}.", Release.TagName), null); return("no"); } } else { Program.DebugToConsole(false, String.Format("No updates have been found. Latest canary release is {0}.", Release.TagName), null); return("no"); } } else { Program.DebugToConsole(false, String.Format("No updates have been found. Latest canary release is {0}.", Release.TagName), null); return("no"); } } catch { Program.DebugToConsole(false, "Error while checking for updates.", null); return("fail"); } } }
public static void CheckForUpdates(bool forced, bool startup, bool isitfromthechangelogwindow) { if (!Functions.IsWindowsVistaOrNewer()) { return; } bool internetok = IsInternetAvailable(); if (internetok == false) { NoUpdates(startup, false); } else { try { Octokit.Release Release = UpdateClient.Repository.Release.GetLatest("KeppySoftware", "OmniMIDI").Result; FileVersionInfo Driver = FileVersionInfo.GetVersionInfo(UpdateFileVersion); Version DriverOnline = null; Version.TryParse(Release.TagName, out DriverOnline); Version DriverCurrent = null; Version.TryParse(Driver.FileVersion.ToString(), out DriverCurrent); if (forced == true) { if (Properties.Settings.Default.UpdateBranch == "canary") { if (DriverCurrent < DriverOnline) { Program.DebugToConsole(false, String.Format("New version found. Requesting user to download it. ({0})", Release.TagName), null); TriggerUpdateWindow(DriverCurrent, DriverOnline, Release.TagName, forced, startup, isitfromthechangelogwindow); } else { Program.DebugToConsole(false, String.Format("The user forced a reinstall/downgrade of the program. ({0})", Release.TagName), null); TriggerUpdateWindow(DriverCurrent, DriverOnline, Driver.FileVersion, forced, startup, isitfromthechangelogwindow); } } else if (Properties.Settings.Default.UpdateBranch == "normal") { if (DriverCurrent.Major < DriverOnline.Major || DriverCurrent.Minor < DriverOnline.Minor) { if ((DriverCurrent.Build >= DriverOnline.Build || DriverCurrent.Build < DriverOnline.Build)) { Program.DebugToConsole(false, String.Format("New version found. Requesting user to download it. ({0})", Release.TagName), null); TriggerUpdateWindow(DriverCurrent, DriverOnline, Release.TagName, forced, startup, isitfromthechangelogwindow); } else { Program.DebugToConsole(false, String.Format("The user forced a reinstall/downgrade of the program. ({0})", Release.TagName), null); TriggerUpdateWindow(DriverCurrent, DriverOnline, Driver.FileVersion, forced, startup, isitfromthechangelogwindow); } } else { Program.DebugToConsole(false, String.Format("The user forced a reinstall/downgrade of the program. ({0})", Release.TagName), null); TriggerUpdateWindow(DriverCurrent, DriverOnline, Driver.FileVersion, forced, startup, isitfromthechangelogwindow); } } else if (Properties.Settings.Default.UpdateBranch == "delay") { if (DriverCurrent.Major < DriverOnline.Major) { if ((DriverCurrent.Minor >= DriverOnline.Minor || DriverCurrent.Minor < DriverOnline.Minor)) { Program.DebugToConsole(false, String.Format("New version found. Requesting user to download it. ({0})", Release.TagName), null); TriggerUpdateWindow(DriverCurrent, DriverOnline, Release.TagName, forced, startup, isitfromthechangelogwindow); } else { Program.DebugToConsole(false, String.Format("The user forced a reinstall/downgrade of the program. ({0})", Release.TagName), null); TriggerUpdateWindow(DriverCurrent, DriverOnline, Driver.FileVersion, forced, startup, isitfromthechangelogwindow); } } else { Program.DebugToConsole(false, String.Format("The user forced a reinstall/downgrade of the program. ({0})", Release.TagName), null); TriggerUpdateWindow(DriverCurrent, DriverOnline, Driver.FileVersion, forced, startup, isitfromthechangelogwindow); } } } else { if (Properties.Settings.Default.UpdateBranch == "canary") { if (DriverCurrent < DriverOnline) { Program.DebugToConsole(false, String.Format("New version found. Requesting user to download it. ({0})", Release.TagName), null); TriggerUpdateWindow(DriverCurrent, DriverOnline, Release.TagName, forced, startup, isitfromthechangelogwindow); } else { Program.DebugToConsole(false, String.Format("No updates have been found. Latest canary release is {0}.", Release.TagName), null); NoUpdates(startup, internetok); } } else if (Properties.Settings.Default.UpdateBranch == "normal") { if (DriverCurrent.Major < DriverOnline.Major || DriverCurrent.Minor < DriverOnline.Minor) { if ((DriverCurrent.Build >= DriverOnline.Build || DriverCurrent.Build < DriverOnline.Build)) { Program.DebugToConsole(false, String.Format("New version found. Requesting user to download it. ({0})", Release.TagName), null); TriggerUpdateWindow(DriverCurrent, DriverOnline, Release.TagName, forced, startup, isitfromthechangelogwindow); } else { Program.DebugToConsole(false, String.Format("No updates have been found. Latest canary release is {0}.", Release.TagName), null); NoUpdates(startup, internetok); } } else { Program.DebugToConsole(false, String.Format("No updates have been found. Latest canary release is {0}.", Release.TagName), null); NoUpdates(startup, internetok); } } else if (Properties.Settings.Default.UpdateBranch == "delay") { if (DriverCurrent.Major < DriverOnline.Major) { if ((DriverCurrent.Minor >= DriverOnline.Minor || DriverCurrent.Minor < DriverOnline.Minor)) { Program.DebugToConsole(false, String.Format("New version found. Requesting user to download it. ({0})", Release.TagName), null); TriggerUpdateWindow(DriverCurrent, DriverOnline, Release.TagName, forced, startup, isitfromthechangelogwindow); } else { Program.DebugToConsole(false, String.Format("No updates have been found. Latest canary release is {0}.", Release.TagName), null); NoUpdates(startup, internetok); } } else { Program.DebugToConsole(false, String.Format("No updates have been found. Latest canary release is {0}.", Release.TagName), null); NoUpdates(startup, internetok); } } } } catch (Exception ex) { Program.DebugToConsole(true, "An error has occurred while checking for updates.", ex); NoUpdates(startup, internetok); } } }