public static void StartDownload(string url, string path, string packagename = "") { ChocolateyDownloader downloader = new ChocolateyDownloader { PackageName = Utils.FirstCharToUpper(packagename) }; if (DownloadProgressBar == null) { DownloadProgressBar = new ProgressBar(1, "Downloading", DefaultStyle); } else { DownloadProgressBar.UpdateMaxTicks(DownloadProgressBar.MaxTicks + 1); } #region Events downloader.WebHandler.DownloadProgressChanged += delegate(object b, DownloadProgressChangedEventArgs e) { downloader.ProgressBar.CurrentTick = (int)e.BytesReceived; }; downloader.WebHandler.DownloadFileCompleted += delegate { downloader.ProgressBar.Dispose(); DownloadProgressBar.Tick(); NLogger.Info($"Sucessfully downloaded {downloader.PackageName}"); }; #endregion downloader.ProgressBar = DownloadProgressBar.Spawn(Utils.GetDownloadSize(url), Utils.FirstCharToUpper(packagename), DefaultStyle); downloader.WebHandler.DownloadFileAsync(new Uri(url), path); }