2011-11-17 21 views

risposta

310

Passare a installutil.exe nella cartella .net (per .net 4 è C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 per esempio) e utilizzarlo per installare il servizio, ad esempio:

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe" "c:\myservice.exe" 
+41

Non dimenticare di eseguire il prompt dei comandi "come amministratore" – fabriciorissetto

+20

Se è il servizio x64 compilato, usare "C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ installutil.exe". – nme

+13

Ottengo un errore strano. Nessun programma di installazione pubblico con RunInstallerAttribute. È possibile trovare attributo Sì nell'assembly .exe.Rimuovi il file InstallState perché non ci sono programmi di installazione – Nick

12

Eseguire la seguente:

  1. avviare il prompt dei comandi (CMD) con diritti di amministratore.
  2. Tipo c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe [your windows service path to exe]
  3. Premere return e questo è quello!

È importante aprire con i diritti di amministratore altrimenti si potrebbero trovare errori che non hanno senso. Se ne hai, controlla di averlo aperto prima con i diritti di amministratore!

Per aprire con diritti di amministratore, fare clic con il pulsante destro del mouse su "Prompt dei comandi" e "Esegui come amministratore".

Fonte: http://coderamblings.wordpress.com/2012/07/24/how-to-install-a-windows-service-using-the-command-prompt/

60

Se il nome della directory ha uno spazio come c:\program files\abc 123, quindi è necessario utilizzare le virgolette doppie in tutto il percorso.

installutil.exe "c:\program files\abc 123\myservice.exe" 

Install windows service from command prompt

Rende le cose molto più facile se si imposta un file bat come seguire,

esempio Per installare un servizio, creare un "myserviceinstaller.bat" e "Esegui come amministratore"

@echo off 
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319 
installutil.exe "C:\Services\myservice.exe" 

if ERRORLEVEL 1 goto error 
exit 
:error 
echo There was a problem 
pause 

per disinstallare il servizio,

Basta aggiungere un -u al comando installutil.

cd C:\Windows\Microsoft.NET\Framework\v4.0.30319 

C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe -u "C:\Services\myservice.exe" 
0

quando la versione di montaggio e il progetto di Visual Studio biuld impostazione dot net 2 o 4 installano con la stessa versione.

installare il servizio con installutil la stessa versione

se costruire in Dot Net 4

Tipo c: \ windows \ microsoft.net \ Framework \ v4.0.30319 \ installutil.exe

se costruire in dot net 2

Digitare c: \ windows \ microsoft.net \ framework \ v2.0.11319 \ installutil.exe

1
  1. avviare il prompt dei comandi (CMD) con i diritti di amministratore.
  2. digitare c: \ windows \ microsoft.net \ Framework \ v4.0.30319 \ installutil.exe [il vostro percorso servizio di Windows a exe]
  3. Press ritorno Prompt
0
  1. comando Esegui di Windows come amministratore
  2. incolla questo codice: cd C:\Windows\Microsoft.NET\Framework\v4.0.30319\ per andare alla cartella
  3. modificare ed eseguire anche questo: installutil C:\ProjectFolder\bin\Debug\MyProject.exe

Nota: Per disinstallare: installutil /u C:\ProjectFolder\bin\Debug\MyProject.exe

12

Niente di male SC comando Crea. solo è necessario conoscere le corrette args:

SC CREATE "MySVC" binpath= “D:\Me\Services\MySVC\MySVC.exe" 
+1

Questa è l'unica risposta che fa riferimento al modo * ufficiale * di installare/modificare/eliminare un servizio. Inoltre, questo non dipende dall'installazione di .NET Framework e funziona con qualsiasi tipo di file, non solo con i binari .NET. – Alejandro

+1

Sì ... questo è il motivo per cui ho adorato questo approccio e lo consiglio sempre poiché tutto il lavoro deve essere fatto nel file exe che può appartenere a qualsiasi versione .net fw. – Sid

+0

Questa è stata l'unica soluzione che ha funzionato per me. Grazie. –

1

installare il Service: -

"C: \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ InstallUtil.exe" "C: \ Servizi \ Servizio.exe "

UnInsatall Sevice: -

"C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ InstallUtil.exe" -u" C: \ Services \ myservice.Service.exe "

1

Devo aggiungere un altro punto in questa discussione. Per installare/disinstallare la versione a 64 bit degli assiemi, è necessario utilizzare la versione di strumento a 64 bit. Per installare un servizio, il comando dovrebbe essere:

"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe" 
"C:\YourFolder\YourService.exe" 

e disinstallare il comando dovrebbe essere:

"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe" -u 
"C:\YourFolder\YourService.exe" 
1

Se si utilizza PowerShell e si desidera installare il servizio NET è possibile utilizzare il modulo Install-Service . È un wrapper per lo strumento InstalUtil.

Espone 3 comandi

  • Install-Service - invoca InstallUtil.exe pathToExecutable comando
  • Install-ServiceIfNotInstalled - prima controlla se il servizio è installato se non esegue il metodo Install -Service
  • Disinstalla-Service- disinstalla il servizio. È possibile utilizzare ServiceName del percorso dell'eseguibile.

Codice a questo modulo può essere visto here

Problemi correlati