Cómo crear un Servicio de Windows (windows services) con vb.net

By | 2010/07/09

Si es necesario ejecutar un proceso continuamente la mejor solución es un servicio de windows que se ejecute cada cierto tiempo.

Para crear esto debemos irnos a crear un nuevo proyecto:

Una vez hemos creado el proyecto procedemos a incluir un componente tipo “eventlog” que nos permitirá registrar los eventos que el servicio ejecute.

Damos “double click” para ver el código y en antes de cualquier funcion

Private oTimer As System.Threading.Timer

En el “OnStart” incluimos lo siguiente:

Dim oCallback As New TimerCallback(AddressOf nombre_funcion)
oTimer = New System.Threading.Timer(oCallback, Nothing, 60000, 60000)
EventLog1.WriteEntry(“In OnStart”)

El 60000 representa que el timer se ejecutará cada minuto.

Creamos la siguiente función de inicialización

Public Sub New()
MyBase.New()
InitializeComponent()
EventLog1.Source = “Nombre del Servicio”
EventLog1.Log = “”
End Sub

En la vista “Design” le damos boton derecho y seleccionamos “Add Installer”

Una vez creado selecciona el Serviceinstaller1 y en propiedades cambia el nombre y display name por los que quieres que se vean en el listado de servicios.

En servicesprocessinstaller1 cambia account a Localsystem.

Una vez hecho esto le damos “build” y creamos el ejecutable

INSTALANDO EL SERVICIO

Para instalar el servicio debes usar el installUtil del Framework el cual puedes encontrar en windows\microsoft.net\framework\version utilizada

El comando que debes utilizar es installUtil “ruta del ejecutable”

Una vez completado solo inicia el sevicio en el área administrativa del panel de control

Leave a Reply

Your email address will not be published. Required fields are marked *

This blog is kept spam free by WP-SpamFree.