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?
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?
Respuestas:
Vaya a installutil.exe en su carpeta .net (para .net 4 es C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 por ejemplo) y utilícelo para instalar su servicio, de esta manera:
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe" "c:\myservice.exe"
No hay nada malo con el comando SC Create. Solo necesitas saber los argumentos correctos:
SC CREATE "MySVC" binpath= "D:\Me\Services\MySVC\MySVC.exe"
sc
comando, pero es algo diferente, no se puede usar para registrar servicios.
Si el nombre del directorio tiene un espacio como c:\program files\abc 123
, entonces debe usar comillas dobles alrededor de la ruta.
installutil.exe "c:\program files\abc 123\myservice.exe"
Hace las cosas mucho más fáciles si configura un archivo bat como el siguiente,
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 -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"
Realice lo siguiente:
c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe [your windows service path to exe]
Es importante abrir con derechos de administrador; de lo contrario, puede encontrar errores que no tienen sentido. Si obtiene alguno, compruebe que lo ha abierto con derechos de administrador primero.
Para abrir con derechos de administrador , haga clic con el botón derecho en 'Símbolo del sistema' y seleccione 'Ejecutar como administrador'.
Instalar servicio: -
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe"
"C:\Services\myservice.exe"
Desinstalar servicio: -
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" -u "C:\Services\myservice.Service.exe"
Debo agregar un punto más en este hilo. Para instalar / desinstalar la 64-bit
versión de ensamblajes, se debe usar la 64-bit
versión de la herramienta. Para instalar un servicio, el comando debe ser:
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe"
"C:\YourFolder\YourService.exe"
y para desinstalar el comando debe ser:
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe" -u
"C:\YourFolder\YourService.exe"
Cree un *.bat
archivo al lado de su exe
archivo de servicio de Windows para instalar 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 *.bat
archivo al lado de su exe
archivo de 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 bat
archivo como administrador para instalar o desinstalar su servicio de Windows.
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319\
para ir a la carpetainstallutil C:\ProjectFolder\bin\Debug\MyProject.exe
Nota: para desinstalar:installutil /u C:\ProjectFolder\bin\Debug\MyProject.exe
Abra Visual Studio y seleccione un nuevo proyecto seleccionando la Windows Service
plantilla en la Windows Desktop
pestaña. Luego copie el siguiente código en su archivo nombre_servicio.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 derecho en el archivo nombre_servicio.cs y abra el diseñador del servicio. que haga clic derecho y seleccione Add Installer
. que haga clic derecho serviceProcessInstaller1
y cambie su valor de propiedad de Account
de User
a Local System
.
Eliminar static void main
método del Program.cs
archivo. Que guardar y construir su proyecto.
NOTA: vaya a la bin\Ddebug
carpeta de su carpeta de proyecto. Que abrir las propiedades de su service_name.exe
archivo. Que ir a la Compatibility
pestaña. Que haga 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, configure el directorio donde InstallUtil.exe
se ubica su archivo. 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 escriba 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, abierto ViewEventLog.exe
. Seleccione Registros de Windows> Aplicación. Allí puede verificar el registro de su Servicio iniciando y deteniendo el servicio.
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
El código de este módulo se puede ver aquí.
el siguiente código, instale y desinstale el Servicio,
Abra el símbolo del sistema y ejecute el programa como administrador, active el siguiente comando y presione Entrar.
Sintaxis
Instalar
C:\windows\microsoft.net\framework\v4.0.30319>InstallUtil.exe + Your copied path + \your service name + .exe
por ejemplo: nuestra ruta InstallUtil.exe C: \ MyFirstService \ bin \ Debug \ MyFirstService.exe
Para desinstalar
C:\windows\microsoft.net\framework\v4.0.30319>InstallUtil.exe -u + Your copied path + \your service name + .exe
Por ejemplo: nuestra ruta InstallUtil.exe -u C: \ MyFirstService \ bin \ Debug \ MyFirstService.exe
Para obtener más ayuda, puede ver el siguiente enlace: programa de muestra
Siga los pasos al implementar el servicio de Windows, no pierda tiempo
1- Ejecutar el símbolo del sistema por el derecho de administrador
2- Asegúrate sobre el modo de lanzamiento al compilar en tu IDE
3- Dé un tipo al instalador de su proyecto en la vista de diseño
4- Seleccione el tipo de autenticación según el caso
5- Asegúrate de las dependencias de software: si estás usando un certificado, instálalo correctamente
6- Ve a tu consola escribe esto:
C:\Windows\Microsoft.NET\Framework\yourRecentVersion\installutil.exe c:\yourservice.exe
hay un argumento -i oculto antes de la ruta exe -i c:\
que puede usar -u
para desinstalar
7- Mira tu ruta .exe para que parezca un archivo de registro. Puede usar el visor de eventos para observar en la función
abra el símbolo del sistema del desarrollador como administrador y navegue hasta
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
Ahora usa la ruta donde está tu .exe
allí
InstallUtil "D:\backup\WindowsService\WindowsService1\WindowsService1\obj\Debug\TestService.exe"
cuando su versión de ensamblaje y su proyecto de Visual Studio configuran Biuld en dot net 2 o 4 con la misma versión.
instalar servicio con installutil
esa misma versión
si se construye en dot net 4
Tipo c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe
si se construye en dot net 2
Tipo c:\windows\microsoft.net\framework\v2.0.11319\installutil.exe
1. Desde el menú Inicio, seleccione el directorio de Visual Studio, luego seleccione Símbolo del sistema de desarrollador para VS.
2. Aparece el símbolo del sistema del desarrollador para Visual Studio.
3. Acceda al directorio donde se encuentra el archivo ejecutable compilado de su proyecto.
4. Ejecute InstallUtil.exe desde el símbolo del sistema con el ejecutable de su proyecto como parámetro
Debe abrir el símbolo del sistema, vaya a
C:\windows\microsoft.net\framework\v4.0.30319\InstallUtil.exe -i ".EXE file of window service"
Abra el símbolo del sistema como administrador, vaya a su carpeta donde .exe
reside. Para instalar Exe
como servicio
D:\YourFolderName\YourExeName /i
Para desinstalar el uso /u
.