diff --git a/Wox.Core/Updater.cs b/Wox.Core/Updater.cs index e5a97ea96e..9d3289ed60 100644 --- a/Wox.Core/Updater.cs +++ b/Wox.Core/Updater.cs @@ -14,8 +14,7 @@ namespace Wox.Core { public static class Updater { - [Conditional("RELEASE")] - public static async void UpdateApp() + public static async Task UpdateApp() { var client = new WebClient { Proxy = Http.WebProxy() }; @@ -24,9 +23,7 @@ namespace Wox.Core try { // todo 5/9 the return value of UpdateApp() is NULL, fucking useless! - using ( - var updater = - await UpdateManager.GitHubUpdateManager(Infrastructure.Constant.Github, urlDownloader: downloader)) + using (var updater = await UpdateManager.GitHubUpdateManager(Infrastructure.Constant.Github, urlDownloader: downloader)) { await updater.UpdateApp(); } diff --git a/Wox/App.xaml.cs b/Wox/App.xaml.cs index 6a12586d61..012f2be7e9 100644 --- a/Wox/App.xaml.cs +++ b/Wox/App.xaml.cs @@ -1,5 +1,6 @@ using System; using System.Diagnostics; +using System.Threading.Tasks; using System.Timers; using System.Windows; using Wox.Core; @@ -94,18 +95,25 @@ namespace Wox } } + [Conditional("RELEASE")] private void AutoUpdates() { - if (_settings.AutoUpdates) + Task.Run(async () => { - // check udpate every 5 hours - var timer = new Timer(1000 * 60 * 60 * 5); - timer.Elapsed += (s, e) => { Updater.UpdateApp(); }; - timer.Start(); + if (_settings.AutoUpdates) + { + // check udpate every 5 hours + var timer = new Timer(1000 * 60 * 60 * 5); + timer.Elapsed += async (s, e) => + { + await Updater.UpdateApp(); + }; + timer.Start(); - // check updates on startup - Updater.UpdateApp(); - } + // check updates on startup + await Updater.UpdateApp(); + } + }); } private void RegisterExitEvents()