He creado un servicio de Windows en vb.net. ¿De todos modos puedo crear una instalación que no requiera installutil para ser utilizado?Cómo instalar un servicio de Windows .NET sin InstallUtil.exe vb.net
Respuesta
Installutil es necesario, pero para facilitar las cosas, puede crear un proyecto de instalación, de modo que simplemente ejecute un .msi para instalar el servicio. (Esto utiliza installutil bajo el capó, pero simplifica enormemente la instalación.)
Un tutorial está aquí: http://support.microsoft.com/kb/816169
Y otro está aquí: http://msdn.microsoft.com/en-us/library/zt39148a(VS.80).aspx
La principal diferencia entre los dos es la cantidad de código en las muestras Ambos te guiarán por el mismo proceso.
Los artículos vinculados son antiguos, pero se siguen aplicando en VS2010. Usé el segundo artículo para recorrer el proceso de un servicio VS2010 la semana pasada.
¿Por qué quieres evitar installutils?
Usted podría tratar de usar el comando sc
, como en sc create ...
EDIT: Aquí hay una página de MSDN para ello: http://support.microsoft.com/?kbid=251192
DESCRIPTION:
Creates a service entry in the registry and Service Database.
USAGE:
sc <server> create [service name] [binPath= ] <option1> <option2>...
OPTIONS:
NOTE: The option name includes the equal sign.
A space is required between the equal sign and the value.
type= <own|share|interact|kernel|filesys|rec>
(default = own)
start= <boot|system|auto|demand|disabled|delayed-auto>
(default = demand)
error= <normal|severe|critical|ignore>
(default = normal)
binPath= <BinaryPathName>
group= <LoadOrderGroup>
tag= <yes|no>
depend= <Dependencies(separated by/(forward slash))>
obj= <AccountName|ObjectName>
(default = LocalSystem)
DisplayName= <display name>
password= <password>
Esa es una buena idea. Me había olvidado de eso. Lo usé en mi primer servicio antes de descubrir cómo demandar a los archivos MSI. Esto le permite hacer cosas que no puede hacer con InstallUtil, como establecer el nombre de usuario y la contraseña predeterminados para que se ejecute el servicio. +1. – David
preste especial atención a [binPath =] tiene que haber un espacio entre el = y el inicio de su ruta. Esto me tiene muchas veces. – AndyM
Siempre se puede hacer con las entradas del registro.
Las claves se encuentran en HKLM\SYSTEM\CurrentControlSet\services
El nombre de clave que crea es el nombre incrustado del servicio en su controlador de servicio. Los siguientes valores son relevantes:
DisplayName
= texto que se mostrará en el gestor de servicios
ImagePath
= FQ Nombre de servicio ejecutable
Start
(DWORD) = tipo de arranque (3 = arranque automático)
DelayedAutoStart
(DWORD) = (1 = retardada)
WOW64
(DWORD) = (0 = aplicación de 64 bits, app 1 = 32 bits)
ErrorControl
(DWORD) = 0
ObjectName
= {usuario} que se ejecutan bajo (LocalSystem de cuenta del sistema)
Hay un montón de otros valores, pero que deben empezar.
- 1. Instalar un servicio de Windows .NET sin InstallUtil.exe
- 2. Instalar el servicio de Windows sin InstallUtil.exe
- 3. ¿Cómo instalar un servicio de Windows desarrollado en .NET 3.5?
- 4. Batch Script para instalar o desinstalar un servicio Windows .NET
- 5. Problema extraño con un servicio Windows .NET
- 6. ¿Inno Setup para el servicio de Windows?
- 7. instalar/desinstalar un servicio de Windows
- 8. Instalar el servicio .net windows con la carpeta lib
- 9. ¿Cómo instalar un servicio de Windows usando Qt?
- 10. ¿Cómo instalo un servicio C# Windows sin crear un instalador?
- 11. Problema al instalar el servicio de Windows
- 12. ¿Cómo instalar un servicio de Windows mediante programación en C#?
- 13. Cómo instalar un servicio de Windows creado en VC++ 6.0
- 14. Cómo forzar la desinstalación del servicio de Windows
- 15. MSDeploy para instalar el servicio de Windows?
- 16. Credenciales al instalar el servicio de Windows
- 17. Instalar el servicio de Windows creado en Visual Studio
- 18. ejecutar un servicio de Windows como una aplicación de consola
- 19. Instalar Shield Limited Edition Servicio de Windows
- 20. ¿Cómo detener correctamente un servicio de Windows .NET multiproceso?
- 21. cómo instalar múltiples instancias del mismo servicio de Windows
- 22. ¿Cómo instalar .NET 4.5?
- 23. Exposición de un servicio .Net
- 24. ¿Alguna manera de anular el nombre de servicio de Windows .NET sin volver a compilar?
- 25. ¿En qué directorio se ejecuta un servicio de Windows?
- 26. Cómo llamar a un servicio web sin wsdl en .net
- 27. Instalar el servicio de Windows con nombre personalizado
- 28. Creando el servicio de Windows sin Visual Studio
- 29. ¿Cómo enviar un comando personalizado a un servicio Windows .NET desde el código .NET?
- 30. ¿Instalar y usar aspnet_merge.exe sin instalar el Windows SDK?
Gracias por el tutorial. También utilicé el segundo artículo con gran éxito. Sin embargo, dentro de mi servicio tengo una variable llamada filepath, que determina la ubicación de salida de los archivos que crea mi servicio. ¿De todos modos puedo hacer que el usuario pueda escribir la ubicación que quiere? – Simon
o debería buscar sintall a través de un archivo .bat? – Simon
Puede hacerlo si los valores están en el archivo .config. Aquí hay un tutorial que muestra cómo modificar los valores de app.config en un escenario de instalación del proyecto de instalación. No lo he usado, pero parece asombroso. http://raquila.com/software/configure-app-config-application-settings-during-msi-install/ – David