/// <summary> /// Downloads the selected release file to a temporary file and starts /// the installation process. /// </summary> public async void DownloadInstall() { if (string.IsNullOrEmpty(this._downloadUrl)) { return; } this.InstallStatus = _loc.GetLocalizationValue("InstallStatusDownloading"); this.CanInstall = false; var progress = new Progress <KeyValuePair <int, string> >(x => { Dispatcher.UIThread.Post(() => { this.DownloadPercentage = x.Key; this.InstallStatus = x.Value; }); }); this._downloadedFileName = await GithubHelper.DownloadRelease(this.SelectedRelease, progress); Log.Information($"Download completed, file path is \"{this._downloadedFileName}\""); await InstallOnPlatform(this._downloadedFileName, this.SelectedRelease?.tag_name); }