2010-03-03 11 views

risposta

28

risposta: se hai trovato questo errore controllare il nome del servizio e processo di servizio nome del servizio di installazione. Entrambi devono essere uguali.

felice di codifica

+1

http://www.clubmicrosoft.net/blog/post/2010/03/03/Error-1083-The-executable-program-that-this-service-is-configured-to-run- in-does-not-implement-the-service.aspx –

+4

Grazie per aver funzionato, ma ho bisogno di correggerti su qualcosa: il nome del servizio (dichiarato nel componente del servizio) e il nome del programma di installazione del servizio (istanza della classe ServiceInstaller) deve essere lo stesso. ServiceProcessInstaller non ha un ServiceName né una proprietà Name. – s0nica

+0

sì, ha risolto il mio problema aggiungendo il riferimento del servizio nella classe Program.cs all'interno della funzione ServicesToRun come new ServiceName() grazie – adnan

21

Assicurarsi inoltre che nel punto di ingresso per l'exe (di solito la procedura principale) un'istanza della propria classe di servizio (che deriva dalla base di servizio è stato creato) .EG.

private static void Main() 
     { 
      var servicesToRun = new ServiceBase[] 
               { 
                new MyService1(), 
                new MyService2() 
               }; 
      ServiceBase.Run(servicesToRun); 
     } 

Se non si esegue questa operazione, dire che non si include il codice per creare un'istanza di MySerivce2, come sopra, si otterrà il messaggio di errore quando si tenta di avviare MyService2.

+0

+1 Questo era il mio problema. Grazie! –

+0

Questo era anche il mio problema, ho salvato la mia giornata, grazie – Noxthron

+0

sì, ha risolto il mio problema aggiungendo il riferimento al servizio all'interno di ServiceBase. Mi mancava il riferimento del servizio, grazie – adnan

0

Per aggiungere un'altra possibilità, see answer #7 on this link.

Il jist della soluzione è assegnare il nome del servizio come ci si aspetta che sia in fase di inizializzazione. Nella mia situazione, il servizio. ServiceName il campo non è stato impostato

Considerare l'utilizzo delle istruzioni di registro per scrivere il nome del servizio appena prima di ServiceBase.Run(servicesToRun).

4

Ho lo stesso problema. La mia soluzione per questo era controllare il nome del servizio e il nome del servizio di installazione del servizio. Entrambi devono essere uguali.

private void InitializeComponent() 
{ 
    components = new System.ComponentModel.Container(); 
    this.ServiceName = "EmailService"; 
} 
Problemi correlati