protected override async void OnStartup(StartupEventArgs e) { WindowsServicesManager servicesManager = new WindowsServicesManager(); servicesManager.Initialize(); FileLoggerHandler.Initialize(servicesManager.FileService); DispatcherHelper.RegisterDispatcher(new WindowsDispatcher(this.Dispatcher)); DialogHelper.Initialize(new WPFDialogShower()); Application.Current.DispatcherUnhandledException += Current_DispatcherUnhandledException; AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; await ChannelSession.Initialize(servicesManager); WindowsIdentity id = WindowsIdentity.GetCurrent(); ChannelSession.IsElevated = id.Owner != id.User; Logger.ForceLog(LogLevel.Information, "Application Version: " + ChannelSession.Services.FileService.GetApplicationVersion()); if (ChannelSession.IsDebug() || ChannelSession.AppSettings.DiagnosticLogging) { Logger.SetLogLevel(LogLevel.Debug); } else { Logger.SetLogLevel(LogLevel.Error); } this.SwitchTheme(ChannelSession.AppSettings.ColorScheme, ChannelSession.AppSettings.BackgroundColor, ChannelSession.AppSettings.FullThemeName); base.OnStartup(e); }
public App() { ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; try { // We need to load the language setting VERY early, so this is the minimal code necessary to get this value WindowsServicesManager servicesManager = new WindowsServicesManager(); servicesManager.Initialize(); ChannelSession.Initialize(servicesManager).Wait(); var selectedLanguageTask = ApplicationSettingsV2Model.Load(); selectedLanguageTask.Wait(); var culture = System.Threading.Thread.CurrentThread.CurrentCulture; if (LanguageMaps.TryGetValue(selectedLanguageTask.Result.LanguageOption, out string locale)) { culture = new System.Globalization.CultureInfo(locale); } System.Threading.Thread.CurrentThread.CurrentUICulture = culture; } catch { } }