2014-10-13 2 views
0

Я уже сделал службу Windows, которая должна автозапускаться при запуске Windows, но по какой-то причине она не работает. Я использовал код ниже:Как автозапуск служб Windows на C#

private void serviceInstaller1_AfterInstall(object sender, InstallEventArgs e) 
    { 
     using (ServiceController sc = new ServiceController(serviceInstaller1.ServiceName)) 
     { 
      sc.Start(); 
     } 
    } 

После установки службы с помощью Installutil.exe он запускается автоматически, но если я делаю рестарт не запускается даже при изменении конфигурации в Service Manager, является «Автоматический».

Я уже пробовал меняться для «Automatic (Delayed Start)», но ничего не изменилось.

Буду признателен за некоторые советы.

Извините за мой бедный английский, я не уроженец.

Благодаря

+0

Перейдите по этой ссылке, это может помочь вам http://stackoverflow.com/questions/3411044/windows-service-doesnt-start-automatically – jadavparesh06

+1

В думаю, что вы хотите, чтобы запустить свой проект как администратор – Kishan

ответ

0
namespace curUsers 
{ 
[RunInstaller(true)] 
public partial class ProjectInstaller : System.Configuration.Install.Installer 
{ 
    public ProjectInstaller() 
    { 
     var processInstaller = new ServiceProcessInstaller(); 
     var serviceInstaller = new ServiceInstaller(); 

     //set the privileges 
     processInstaller.Account = ServiceAccount.LocalSystem; 

     serviceInstaller.DisplayName = "curUsers"; 
     serviceInstaller.StartType = ServiceStartMode.Automatic; 

     //must be the same as what was set in Program's constructor 
     serviceInstaller.ServiceName = "curUsers"; 

     this.Installers.Add(processInstaller); 
     this.Installers.Add(serviceInstaller); 
    } 

    private void serviceInstaller1_AfterInstall(object sender, InstallEventArgs e) 
    { 

    } 

    private void serviceProcessInstaller1_AfterInstall(object sender, InstallEventArgs e) 
    { 

    } 
} 
} 

Просто попробуйте это, все мои услуги окна разработаны таким же образом. этот тоже хорошо работает.

0

Я построил несколько служб Windows некоторое время назад. Может быть, это поможет решить проблему

// serviceInstaller1 
// 
this.serviceInstaller1.ServiceName = "whoisthere"; 
this.serviceInstaller1.StartType = System.ServiceProcess.ServiceStartMode.Automatic; 
this.serviceInstaller1.AfterInstall += new System.Configuration.Install.InstallEventHandler(this.serviceInstaller1_AfterInstall); 
+0

я попробовал это, но это Безразлично Не работай. Служба работает нормально после установки, но не после перезагрузки системы. Кажется, что Windows не может запустить его сам. – J053JULI0

Смежные вопросы