diff --git a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs index 57bf389fe2..817018b49c 100644 --- a/MediaBrowser.Common.Implementations/BaseApplicationHost.cs +++ b/MediaBrowser.Common.Implementations/BaseApplicationHost.cs @@ -472,11 +472,33 @@ namespace MediaBrowser.Common.Implementations } } + /// + /// Defines the full path to our shortcut in the start menu + /// + protected abstract string ProductShortcutPath { get; } + /// /// Configures the auto run at startup. /// private void ConfigureAutoRunAtStartup() { + if (ConfigurationManager.CommonConfiguration.RunAtStartup) + { + //Copy our shortut into the startup folder for this user + File.Copy(ProductShortcutPath, Environment.GetFolderPath(Environment.SpecialFolder.Startup), true); + } + else + { + //Remove our shortcut from the startup folder for this user + try + { + File.Delete(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Startup), Path.GetFileName(ProductShortcutPath))); + } + catch (FileNotFoundException) + { + //This is okay - trying to remove it anyway + } + } } /// diff --git a/MediaBrowser.ServerApplication/ApplicationHost.cs b/MediaBrowser.ServerApplication/ApplicationHost.cs index d5a5057925..f9b2840f4d 100644 --- a/MediaBrowser.ServerApplication/ApplicationHost.cs +++ b/MediaBrowser.ServerApplication/ApplicationHost.cs @@ -128,6 +128,14 @@ namespace MediaBrowser.ServerApplication /// The HTTP server. private IHttpServer HttpServer { get; set; } + /// + /// The full path to our startmenu shortcut + /// + protected override string ProductShortcutPath + { + get { return Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.StartMenu), "Media Browser Server.lnk"); } + } + /// /// Runs the startup tasks. ///