/// <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);
        }