Ejemplo n.º 1
0
        public static async Task CheckUpdates()
        {
            Log.Info("Check updates");
            try
            {
                var current = Assembly.GetExecutingAssembly().GetName().Version;
                var result  = await UpdaterApi.CheckAsync(ConstStrings.GITHUB_USER, nameof(Kebler), current);


                Log.Info($"Current {current} Serv {result.Item2}");

                App.Instance.IsUpdateReady = result.Item1;
                if (result.Item1)
                {
                    var mgr       = new WindowManager();
                    var dialogres = await mgr.ShowDialogAsync(new MessageBoxViewModel(Strings.NewUpdate, string.Empty,
                                                                                      Enums.MessageBoxDilogButtons.YesNo, true));

                    if (dialogres == true)
                    {
                        InstallUpdates();
                    }
                }
            }
            catch (Exception ex)
            {
                App.Instance.IsUpdateReady = false;
                Log.Error(ex);
            }
        }
Ejemplo n.º 2
0
        public static async Task CheckUpdates()
        {
            Log.Info("Check updates");
            try
            {
                var current = Assembly.GetExecutingAssembly().GetName().Version;

                var result = await UpdaterApi.Check(ConstStrings.GITHUB_USER, nameof(Kebler), current, ConfigService.Instanse.AllowPreRelease);

                Log.Info($"Current {current} Serv {result.Item2.name}");

                App.Instance.IsUpdateReady = result.Item1;
                if (result.Item1)
                {
                    var mgr       = new WindowManager();
                    var lt        = LocalizationProvider.GetLocalizedValue(nameof(Strings.NewUpdate));
                    var dialogres = await mgr.ShowDialogAsync(new MessageBoxViewModel(lt.Replace("%d", result.Item2.tag_name), string.Empty,
                                                                                      Enums.MessageBoxDilogButtons.YesNo, true));

                    if (dialogres == true)
                    {
                        InstallUpdates();
                    }
                }
            }
            catch (Exception ex)
            {
                App.Instance.IsUpdateReady = false;
                Log.Error(ex);
                Crashes.TrackError(ex);
            }
        }
Ejemplo n.º 3
0
        async void startFree()
        {
            Log($"Oh my god. That is first time..... go for update with 0.0.0.0 version");
            var result = await UpdaterApi.Check(ConstStrings.GITHUB_USER, nameof(Kebler), new Version(0, 0, 0, 0), App.Beta);

            App.CreateShortcut();
            var updateUrl = result.Item2.assets.LastOrDefault()?.browser_download_url;

            StartDownlaod(updateUrl);
        }
Ejemplo n.º 4
0
        private async void MainWindow_Loaded(object sender, RoutedEventArgs e)
        {
            if (App.Force)
            {
                startFree();
            }
            else
            {
                string? getEnv  = null;
                Version?current = null;
                getEnv = Environment.GetEnvironmentVariable(nameof(Kebler), EnvironmentVariableTarget.User);

                if (!string.IsNullOrEmpty(getEnv))
                {
                    Log($"We found old version on GetEnvironmentVariable: {getEnv}");
                    if (File.Exists(getEnv))
                    {
                        current = new Version(FileVersionInfo.GetVersionInfo(getEnv).FileVersion);
                        Log($"Current version is: {current}");

                        Log($"Okay. Try get server version (github version)");
                        var result = await UpdaterApi.Check(ConstStrings.GITHUB_USER, nameof(Kebler), current, App.Beta);

                        Log($"Server version is: {result.Item2.name}");

                        if (result.Item2.name > current)
                        {
                            var updateUrl = result.Item2.assets.Last().browser_download_url;
                            Log($"So here is: {updateUrl}");

                            StartDownlaod(result.Item2.assets.Last().browser_download_url);
                        }
                        else
                        {
                            Process.Start(getEnv);
                            App.DONE(true);
                        }
                    }
                    else
                    {
                        startFree();
                    }
                }
                else
                {
                    startFree();
                }
            }
        }
Ejemplo n.º 5
0
        public void HasUpdate()
        {
            var getEnv  = Environment.GetEnvironmentVariable(nameof(Kebler), EnvironmentVariableTarget.User);
            var current = new Version(FileVersionInfo.GetVersionInfo(getEnv).FileVersion);


            var result = UpdaterApi.Check(ConstStrings.GITHUB_USER, nameof(Kebler), current);

            Log($"Current {current} Serv {result.Item2}");

            Log($"Env Path: {getEnv}");


            if (getEnv == null)
            {
                var updateUrl = UpdaterApi.GetlatestUri();

                var wd = new MainWindow(new Uri(updateUrl));
                wd.ShowDialog();
                Current.Shutdown(0);
            }
            else
            {
                var updateUrl = UpdaterApi.GetlatestUri();

                if (File.Exists(ConstStrings.KeblerExepath))
                {
                    if (result.Item2 > current)
                    {
                        var wd = new MainWindow(new Uri(updateUrl));
                        wd.ShowDialog();
                        Current.Shutdown(0);
                    }
                    else
                    {
                        CreateShortcut();
                        Process.Start(getEnv);
                        Current.Shutdown(0);
                    }
                }
                else
                {
                    var wd = new MainWindow(new Uri(updateUrl));
                    wd.ShowDialog();
                    Current.Shutdown(0);
                }
            }
        }