| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 | 
							- using System.Collections;
 
- using System.ComponentModel;
 
- using System.ServiceProcess;
 
- namespace MediaBrowser.ServerApplication
 
- {
 
-     [RunInstaller(true)]
 
-     public class BackgroundServiceInstaller : System.Configuration.Install.Installer
 
-     {
 
-         public BackgroundServiceInstaller()
 
-         {
 
-             var process = new ServiceProcessInstaller
 
-             {
 
-                 Account = ServiceAccount.LocalSystem
 
-             };
 
-             var serviceAdmin = new ServiceInstaller
 
-             {
 
-                 StartType = ServiceStartMode.Manual,
 
-                 ServiceName = BackgroundService.Name,
 
-                 DisplayName = BackgroundService.DisplayName,
 
-                 DelayedAutoStart = true,
 
-                 Description = "The windows background service for Media Browser Server.",
 
-                 // Will ensure the network is available
 
-                 ServicesDependedOn = new[] { "LanmanServer", "Tcpip" }
 
-             };
 
-             // Microsoft didn't add the ability to add a
 
-             // description for the services we are going to install
 
-             // To work around this we'll have to add the
 
-             // information directly to the registry but I'll leave
 
-             // this exercise for later.
 
-             // now just add the installers that we created to our
 
-             // parents container, the documentation
 
-             // states that there is not any order that you need to
 
-             // worry about here but I'll still
 
-             // go ahead and add them in the order that makes sense.
 
-             Installers.Add(process);
 
-             Installers.Add(serviceAdmin);
 
-         }
 
-         protected override void OnBeforeInstall(IDictionary savedState)
 
-         {
 
-             Context.Parameters["assemblypath"] = "\"" +
 
-                 Context.Parameters["assemblypath"] + "\" " + GetStartArgs();
 
-             base.OnBeforeInstall(savedState);
 
-         }
 
-         protected override void OnBeforeUninstall(IDictionary savedState)
 
-         {
 
-             Context.Parameters["assemblypath"] = "\"" +
 
-                 Context.Parameters["assemblypath"] + "\" " + GetStartArgs();
 
-             base.OnBeforeUninstall(savedState);
 
-         }
 
-         private string GetStartArgs()
 
-         {
 
-             return "-service";
 
-         }
 
-     }
 
- }
 
 
  |