Dienste schreiben in Visual Studio Express
Verfasst: Do 2. Feb 2017, 18:17
Um auch in Visual Studio Express einen Dienst zu erstellen muss erst mal eine Konsolenanwendung erstellt werden.
Hierzu werden folgende Verweise benötigt:
Nun kann folgender Grundaufbau verwendet werden:
Nun muss nur noch der Installer für den Dienst eingebaut werden. Hierzu muss folgender Code auserhalb des Modul1 eingefügt werden:
Nun ist der Dienst Fertig und kann über folgenden Consolenbefehl Installiert werden:
Zum Deinstallieren:
Hierzu werden folgende Verweise benötigt:
- System.ServiceProcess
- System.Configuration.Install
Code: Alles auswählen
Imports System.ComponentModel
Imports System.ServiceProcess
Code: Alles auswählen
Public Modul Modul1
Sub Main()
ServiceBase.Run(New MyService())
End Sub
Public Class MyService : Inherits ServiceBase
Public Sub MyTimeService()
CanStop = True
End Sub
Protected Overrides Sub OnStart(args() As String)
'Code der beim Start des Dienstes ausgeführt wird.
'Hierbei die eigentliche Logik in einen Task, Timer, etc. auslagern, damit die OnStart Routine schell beendet wird.
End Sub
Protected Overrides Sub OnStop()
'Code der beim Beenden des Services ausgeführt wird.
'Hierbei sollten nicht mehr benötigte Variablen frei gegeben und laufende Prozesse angehalten werden.
End Sub
End Class
End Modul
Code: Alles auswählen
<RunInstaller(True)> _
Public Class MyInstaller
Inherits System.Configuration.Install.Installer
Public Sub New()
Dim Installer As New ServiceInstaller
Installer.StartType = ServiceStartMode.Automatic
Installer.ServiceName = "DienstName"
Installer.Description = "Beschreibung des Dienstes"
Installers.Add(Installer)
Dim processInstaller As New ServiceProcessInstaller
processInstaller.Account = ServiceAccount.LocalSystem
Installers.Add(processInstaller)
End Sub
End Class
Code: Alles auswählen
C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe <Pfad zur Dienst.exe>
Code: Alles auswählen
C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe /U <Pfad zur Dienst.exe>