Einzelnen Beitrag anzeigen

Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#1

CreateService funktioniert bei mir nicht richtig

  Alt 17. Okt 2005, 08:31
Hallo Leutz,

Ih hab ein kleines Problem mit der CreateService Funtion.

Eigentlich müsste das ja so ohne Probleme funktionieren:

Delphi-Quellcode:

procedure TForm1.Button1Click(Sender: TObject);
const
SERVICE_NAME = 'dienst2';
DISPLAY_NAME = 'TestServiceX';
lpszBinaryPathName = 'C:\WINNT\system32\dienst2.exe';//Datei existiert!
var
schService : SC_Handle;
schSCManager : SC_Handle;
begin
schSCManager:=OpenSCManager(nil,nil,SC_MANAGER_ALL_ACCESS);
if schSCManager = 0 then
 raise Exception.Create(SysErrorMessage(GetLastError));
schService := CreateService(
               schSCManager, // SCManager database
               SERVICE_NAME, // name of service
               DISPLAY_NAME, // service name to display
               SERVICE_ALL_ACCESS, // desired access
               SERVICE_WIN32_OWN_PROCESS, // service type
               SERVICE_AUTO_START, // start type
               SERVICE_ERROR_NORMAL, // error control type
               lpszBinaryPathName, // service's binary
               nil, // no load ordering group
               nil, // no tag identifier
               nil, // no dependencies
               nil, // LocalSystem account
               nil); // no password

if schService <> 0 then
 ShowMessage(DISPLAY_NAME+' installed SUCCESSFUL.')
else raise Exception.Create(SysErrorMessage(GetLastError));
CloseServiceHandle(schService);
end;
Allerdings startet der Service nicht wenn ich ihn starten will. Wenn ich hingegen mit in der eingabeaufforderung mit "dienst2 /install" installiere dann funktioniert es problemlos.

Ausserdem kann ich den Service wenn ich über die Delphifunktion installiere nicht deinstallieren. Mein rechteckiger Freund bringt mmir denn die Meldung das der Service nicht installiert ist, obwohl er bei den Diensten klar sichtbar ist und auch versucht zu starten.

NEED HELP!!

Danke schonmal im Vorraus.

Edit: Beim installieren mit CreateService wird das ShowMessage(DISPLAY_NAME+' installed SUCCESSFUL.') angezeigt.
Beim starten kommt dann die Meldung "Der Deinst TestServiceX kann nicht auf "Lokaler Computer" gestartet werden.
Fehler 1053er Dienst antwortete nicht rechtzeitig auf die Start- oder Steuerungsanforderung"
Nach dieser Meldung steht bei den Diensten dann nurnoch Stundenlang das der Dienst geladen wird, was allerdings nie geschieht
Martin Weber
  Mit Zitat antworten Zitat