Instalar un servicio de Windows utilizando un símbolo del sistema de Windows?

Quiero instalar un servicio de Windows usando un símbolo del sistema de Windows (no el símbolo del sistema de Visual Studio).

¿Cómo hago esto?

Vaya a installutil.exe en su carpeta .net (para .net 4 es C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 por ejemplo) y úselo para instalar su servicio, así:

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

Si el nombre del directorio tiene un espacio como c:\program files\abc 123 , debe usar comillas dobles alrededor de la ruta.

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

Instalar el servicio de Windows desde el símbolo del sistema

Hace las cosas mucho más fáciles si configura un archivo bat como sigue,

Por ejemplo, para instalar un servicio, cree un “myserviceinstaller.bat” y ” Ejecutar como administrador

 @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 

para desinstalar el servicio,

Simplemente agregue 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" 

No hay nada malo con SC Crear comando. Solo necesitas saber las args correctas:

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

Realice lo siguiente:

  1. Inicie el símbolo del sistema (CMD) con derechos de administrador.
  2. Escriba c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe [your windows service path to exe]
  3. Presione regresar y eso es todo!

Es importante abrir con derechos de administrador; de lo contrario, es posible que aparezcan errores que no tienen sentido. ¡Si obtiene alguno, compruebe que lo ha abierto primero con derechos de administrador!

Para abrir con derechos de administrador , haga clic con el botón derecho en ‘Símbolo del sistema’ y seleccione ‘Ejecutar como administrador’.

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

Debo agregar un punto más en este hilo. Para instalar / desinstalar la versión de ensambles de 64 bits, se debe usar la versión de la herramienta de 64 bits. Para instalar un servicio, el comando debería ser:

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

y para desinstalar el comando debería ser:

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

Si está utilizando Powershell y desea instalar el servicio .NET, puede usar el módulo Install-Service . Es un contenedor para la herramienta InstalUtil.

Expone 3 comandos

  • Install-Service: invoca el comando pathToExecutable de InstallUtil.exe
  • Install-ServiceIfNotInstalled – primero comprueba si el servicio está instalado si no se realiza el método Install-Service
  • Desinstalar-Servicio- desinstala el servicio. ServiceName de la ruta al ejecutable se puede usar.

El código para este módulo se puede ver aquí

Cree un archivo *.bat junto al archivo exe servicio de Windows para instalarlo con el siguiente contexto:

 CLS ECHO Installing My Windows Service START %windir%\Microsoft.NET\Framework\v4.0.30319\installutil.exe "%~d0%~p0\YourWindowsServiceExeName.exe" 

Cree un archivo *.bat junto a su archivo exe servicio de Windows para desinstalarlo con el siguiente contexto:

 CLS ECHO Uninstalling My Windows Service START %windir%\Microsoft.NET\Framework\v4.0.30319\installutil.exe -u "%~d0%~p0\YourWindowsServiceExeName.exe" 

Ejecute cada uno de los archivos bat como administrador para instalar o desinstalar su servicio de Windows.

  1. Inicie el símbolo del sistema (CMD) con derechos de administrador.
  2. Escriba c: \ windows \ microsoft.net \ framework \ v4.0.30319 \ installutil.exe [la ruta del servicio de Windows a exe]
  3. Pulse Retorno
  1. Ejecute el símbolo del sistema de Windows como administrador
  2. pega este código: cd C:\Windows\Microsoft.NET\Framework\v4.0.30319\ para ir a la carpeta
  3. edite y ejecute esto también: installutil C:\ProjectFolder\bin\Debug\MyProject.exe

Nota: Para desinstalar: installutil /u C:\ProjectFolder\bin\Debug\MyProject.exe

Instalar servicio: –

“C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ InstallUtil.exe” “C: \ Services \ myservice.exe”

Servicio UnInsatall: –

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

cuando su versión de ensamblado y su proyecto de Visual Studio, configuración de Biuld en dot net 2 o 4, se instale con la misma versión.

instalar el servicio con installutil esa misma versión

si construir en dot net 4

Escriba c: \ windows \ microsoft.net \ framework \ v4.0.30319 \ installutil.exe

si construir en dot net 2

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

Abra Visual Studio y seleccione un nuevo proyecto seleccionando la plantilla del Windows Service de Windows Desktop en la pestaña del Windows Desktop . Luego copie el código siguiente en su archivo service_name.cs.

 using System.Diagnostics; using System.ServiceProcess; namespace TimerService { public partial class Timer_Service : ServiceBase { public Timer_Service() { InitializeComponent(); } static void Main() { if (System.Diagnostics.Debugger.IsAttached) { Timer_Service service = new Timer_Service(); service.OnStart(null); } else { ServiceBase[] ServicesToRun; ServicesToRun = new ServiceBase[] { new Timer_Service() }; ServiceBase.Run(ServicesToRun); } } protected override void OnStart(string[] args) { EventLog.WriteEvent("Timer_Service", new EventInstance(0, 0, EventLogEntryType.Information), new string[] { "Service start successfully." }); } protected override void OnStop() { EventLog.WriteEvent("Timer_Service", new EventInstance(0, 0, EventLogEntryType.Information), new string[] { "Service stop successfully." }); } } } 

Haga clic con el botón derecho en el archivo service_name.cs y abra el diseñador del servicio. que haga clic derecho y seleccione Add Installer . de hacer clic derecho en serviceProcessInstaller1 y cambiar su valor de propiedad de Account de User a Local System .

Elimine static void main método static void main del archivo Program.cs . Que guardar y construir su proyecto.

NOTA: goto bin\Ddebug carpeta de su carpeta de proyecto. Que abrir Propiedades de su archivo service_name.exe . Luego de ir a la pestaña de Compatibility . Luego haz clic en Change Settings For All Users .

Seleccione la opción Run this program as an administrator .

Ahora, debe abrir CommandPromt como administrador. Después de abrir, establezca el directorio donde se ubica su archivo InstallUtil.exe . por ejemplo: C:\Windows\Microsoft.NET\Framework64\v4.0.30319 . ahora escribe el siguiente comando:

 C:\Windows\Microsoft.NET\Framework64\v4.0.30319>InstallUtil.exe -i C:\TimerService\TimerService\bin\Debug\TimerService.exe 

Nota: -i es para instalar el servicio y -u para desinstalar.

después de -i establecer la ruta de escritura donde desea instalar su servicio.

ahora escribe el comando en CommandPromt de la siguiente manera:

 C:\TimerService\TimerService\bin\Debug>net start service_name 

Nota: use stop para detener el servicio.

Ahora, abra ViewEventLog.exe . Seleccione Registros de Windows> Aplicación. Allí puede consultar el registro de su Servicio al iniciar y detener el servicio.

Debería abrir el símbolo del sistema, ir a

C:\windows\microsoft.net\framework\v4.0.30319\InstallUtil.exe -i ".EXE file of window service"