private void Setup() { SessionhasAdminRights = IsUserAdministrator(); try { Task.Run(async() => { var hasUpdate = await _updateManager.FetchUpdateAsync(); if (!hasUpdate) { return; } var thread = new Thread(() => { var updaterWindow = new UpdaterWindow(_updateManager) { ShowActivated = true }; updaterWindow.Show(); updaterWindow.StartUpdateProcess(); System.Windows.Threading.Dispatcher.Run(); }); thread.SetApartmentState(ApartmentState.STA); thread.Start(); }); } catch (Exception ex) { Console.WriteLine(ex.Message); } try { Directory.CreateDirectory(AppDataPath); Directory.CreateDirectory(ExportPath); } catch (Exception ex) { ex.Show(); } Views = new ViewCollection(); // Make a ViewCollection object ToolsMenu.ItemsSource = ViewCollection.GetAllToolTypes().Where(o => o.GetCustomAttribute <HiddenToolAttribute>() == null).Select(o => { var name = ViewCollection.GetName(o); var item = new MenuItem { Header = "_" + name, ToolTip = $"Open {name}." }; item.Click += ViewSelectMenuItemOnClick; return(item); }).OrderBy(o => o.Header); }