public ArchiServiceInstaller()
{
ServiceInstaller serviceInstaller = new ServiceInstaller();
ServiceProcessInstaller serviceProcessInstaller = new ServiceProcessInstaller();
serviceInstaller.ServiceName = SharedInfo.ServiceName;
serviceInstaller.DisplayName = SharedInfo.ServiceName;
serviceInstaller.Description = SharedInfo.ServiceDescription;
// Defaulting to only starting when a user starts it, can be easily changed after install
serviceInstaller.StartType = ServiceStartMode.Manual;
// System account, requires admin privilege to install
serviceProcessInstaller.Account = ServiceAccount.LocalSystem;
serviceInstaller.Installers.Clear();
EventLogInstaller logInstaller = new EventLogInstaller {
Log = SharedInfo.EventLog,
Source = SharedInfo.EventLogSource
};
Installers.Add(serviceInstaller);
Installers.Add(serviceProcessInstaller);
Installers.Add(logInstaller);
}