Forums Neueste Beiträge
 
Tags Keywords

Dienst

13/09/2008 - 23:29 von Kusch | Report spam
Hallo!
ich wollte mal einen WindowsService installieren. Dazu habe ich folgende
Klasse geschrieben:

class WinampRemoteService : IWinampRemote
{
string IWinampRemote.GetKey()
{
return "DefualtKey";
}
}



Mein Service sieht so aus:

public partial class WinampRemoteWindowsService : ServiceBase
{


public ServiceHost serviceHost = null;



public WinampRemoteWindowsService()
{
InitializeComponent();
}

public void WinampRemoteService()
{
ServiceName = "WinampRemoteWindowsService";
}



protected override void OnStart(string[] args)
{
if (serviceHost != null)
{
serviceHost.Close();
}

// Create a ServiceHost for the WinampRemoteService type and
// provide the base address.
serviceHost = new ServiceHost(typeof(WinampRemoteService));

// Open the ServiceHostBase to create listeners and start
// listening for messages.
serviceHost.Open();
}



protected override void OnStop()
{
if (serviceHost != null)
{
serviceHost.Close();
serviceHost = null;
}

}
}

VS2008 hat mir neben einem ProjektInstaller noch folgende Klasse erstellt:

static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
static void Main()
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new WinampRemoteWindowsService()
};
ServiceBase.Run(ServicesToRun);
}
}


Jetz wollte ich mit Hilfe von InstallUtil.exe (von "Ausführen" aus) den
Service installieren. Es geht ein DIS-Fenster auf mit folgendme Inhalt:

Installing assembly
'E:\Development\Microsoft\Projects\WinampRemote\WinampRemoteService\bin\Debug\WinampRemoteService.exe'.
Affected parameters are:
logtoconsole assemblypath =
E:\Development\Microsoft\Projects\WinampRemote\WinampRemoteService\bin\Debug\WinampRemoteService.exe
logfile =
E:\Development\Microsoft\Projects\WinampRemote\WinampRemoteService\bin\Debug\WinampRemoteService.InstallLog


und dazu noch eine Eingabemaske für "Set Service Login".
Wenn ich die Eingabemaske schlisse geht quch sofort das Dos-Fenster zu.

Aber ein Dienst wird nicht installiert; zumindest kann ich es nicht
unter "Dienste" finden.
Was muss ich denn machen, um meinen Dienst zu starten? Fehlen mir noch
irgendwelche Dateien?
Danke für die Hilfe,
Wojtek
 

Lesen sie die antworten

#1 Kusch
13/09/2008 - 23:47 | Warnen spam
Habe gerade gemekrt dass eine Fehlermeldung im Dos-Fenster ausgegeben wird:
System.ArgumentOutOfRangeException: Index and length must refer to a
location within the string.
Parameter name: length



Kusch schrieb:
Hallo!
ich wollte mal einen WindowsService installieren. Dazu habe ich folgende
Klasse geschrieben:

class WinampRemoteService : IWinampRemote
{
string IWinampRemote.GetKey()
{
return "DefualtKey";
}
}



Mein Service sieht so aus:

public partial class WinampRemoteWindowsService : ServiceBase
{


public ServiceHost serviceHost = null;



public WinampRemoteWindowsService()
{
InitializeComponent();
}

public void WinampRemoteService()
{
ServiceName = "WinampRemoteWindowsService";
}



protected override void OnStart(string[] args)
{
if (serviceHost != null)
{
serviceHost.Close();
}

// Create a ServiceHost for the WinampRemoteService type and
// provide the base address.
serviceHost = new ServiceHost(typeof(WinampRemoteService));

// Open the ServiceHostBase to create listeners and start
// listening for messages.
serviceHost.Open();
}



protected override void OnStop()
{
if (serviceHost != null)
{
serviceHost.Close();
serviceHost = null;
}

}
}

VS2008 hat mir neben einem ProjektInstaller noch folgende Klasse erstellt:

static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
static void Main()
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new WinampRemoteWindowsService()
};
ServiceBase.Run(ServicesToRun);
}
}


Jetz wollte ich mit Hilfe von InstallUtil.exe (von "Ausführen" aus) den
Service installieren. Es geht ein DIS-Fenster auf mit folgendme Inhalt:

Installing assembly
'E:\Development\Microsoft\Projects\WinampRemote\WinampRemoteService\bin\Debug\WinampRemoteService.exe'.

Affected parameters are:
logtoconsole > assemblypath =
E:\Development\Microsoft\Projects\WinampRemote\WinampRemoteService\bin\Debug\WinampRemoteService.exe

logfile =
E:\Development\Microsoft\Projects\WinampRemote\WinampRemoteService\bin\Debug\WinampRemoteService.InstallLog



und dazu noch eine Eingabemaske für "Set Service Login".
Wenn ich die Eingabemaske schlisse geht quch sofort das Dos-Fenster zu.

Aber ein Dienst wird nicht installiert; zumindest kann ich es nicht
unter "Dienste" finden.
Was muss ich denn machen, um meinen Dienst zu starten? Fehlen mir noch
irgendwelche Dateien?
Danke für die Hilfe,
Wojtek

Ähnliche fragen