private void FrmMainLoad(object sender, EventArgs e) { try { var extension = FileManager.GetExtension(mFileNameToLoad); List <string> stringList = new List <string>(); if (extension == UpdaterRuntimeSettings.RuntimeSettingsExtension) { var updaterRuntimeSettings = UpdaterRuntimeSettings.FromFile(mFileNameToLoad); if (string.IsNullOrEmpty(updaterRuntimeSettings.LocationToSaveFile)) { throw new Exception("UserRuntimeSettings LocationToSaveFile is null. Loaded settings from " + Settings.UserAppPath); } _settings = Settings.GetSettings(updaterRuntimeSettings); Logger.Log("Loading UpdaterRuntimeSettings"); if (string.IsNullOrEmpty(_settings.SaveFile)) { throw new Exception("The settings SaveFile was null when loading from UpdaterRuntimeSettings"); } } else { FrbdkUpdaterSettings tempSettings; if (string.IsNullOrEmpty(mFileNameToLoad)) { throw new Exception("The command line argument must not be null"); } tempSettings = FrbdkUpdaterSettings.LoadSettings(mFileNameToLoad); stringList.Add("Selected source:" + tempSettings.SelectedSource); _settings = Settings.GetSettings(tempSettings); Logger.Log("Loading FrbdkUpdaterSettings"); if (string.IsNullOrEmpty(_settings.SaveFile)) { throw new Exception("The settings SaveFile was null when loading from the FRBDKUpdaterSettings"); } } Messaging.ShowAlerts = !_settings.Passive; if (!String.IsNullOrEmpty(_settings.Title)) { UserMessage = _settings.Title; } var downloader = new Downloader(_settings); downloader.ReportProgress += DownloaderOnReportProgress; downloader.ErrorOccured += DownloaderOnErrorOccured; downloader.DownloadComplete += DownloaderOnDownloadComplete; downloader.Start(); } catch (Exception outerException) { MessageBox.Show(outerException.ToString()); } }