public static void InitializeAndRunApp_Main(App app) { // before doing things, upgrade from previous version Upgrade.UpgradeAppSettings(); // first, check if there is a new version of this tool (if configured so) CheckSelfUpdate(app); // initialize App object, load configuration, add generic triggers etc InitializeApp(); ShowDisclaimer(); if (!Settings.Default.isConfigured || App.CommandLineOptions.OpenConfigurationWindow) { App.ShowConfigurationWindow(); } else { if (App.Machine.PossiblyHasConfiguredInstallations) { if (App.CommandLineOptions.RunExplicitCheckForUpdates) { App.ShowNewVersionWindow(true); } else { PerformBackgroundUpdateCheck(); } } else { var ans = MessageBox.Show( $"You don't have any configured {Branding.TargetProduct} installations. Would you like to configure them?", Branding.MessageBoxHeader, MessageBoxButton.YesNo, MessageBoxImage.Error); if (ans == MessageBoxResult.Yes) { App.ShowConfigurationWindow(); } else { Application.Current.Shutdown(); } } // if-else (Machine.PossiblyHasConfiguredInstallations) } //else (!Settings.Default.isConfigured || App.CommandLineOptions.OpenConfigurationWindow) }