using MediaBrowser.Controller; using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Plugins; using MediaBrowser.Model.Logging; using System.ComponentModel; using System.Linq; using System.Windows; namespace MediaBrowser.ServerApplication.EntryPoints { /// /// Class StartupWizard /// public class StartupWizard : IServerEntryPoint { /// /// The _app host /// private readonly IServerApplicationHost _appHost; /// /// The _user manager /// private readonly IUserManager _userManager; private readonly ILogger _logger; private readonly IServerConfigurationManager _configurationManager; /// /// Initializes a new instance of the class. /// /// The app host. /// The user manager. public StartupWizard(IServerApplicationHost appHost, IUserManager userManager, IServerConfigurationManager configurationManager) { _appHost = appHost; _userManager = userManager; _configurationManager = configurationManager; } /// /// Runs this instance. /// public void Run() { if (_appHost.IsFirstRun) { LaunchStartupWizard(); } } /// /// Launches the startup wizard. /// private void LaunchStartupWizard() { var user = _userManager.Users.FirstOrDefault(u => u.Configuration.IsAdministrator); try { App.OpenDashboardPage("wizardstart.html", user, _configurationManager, _appHost); } catch (Win32Exception ex) { _logger.ErrorException("Error launching startup wizard", ex); MessageBox.Show("There was an error launching the Media Browser startup wizard. Please ensure a web browser is installed on the machine and is configured as the default browser.", "Media Browser"); } } /// /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. /// public void Dispose() { } } }