Einzelnen Beitrag anzeigen

Benutzerbild von kuba
kuba

Registriert seit: 26. Mai 2006
Ort: Arnsberg
588 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: NT-Service auf 64bit Windows

  Alt 16. Jun 2010, 16:27
Ich entwickle hier mir Server2008R2 und hatte noch nie Probleme mit Shellaufrufen.

Ist remote.exe im Suchpfad?
Gute Frage, kann ich erst überprüfen wenn ich wieder bei meiner Testumgebung bin.

Dieser Code scheint auch Probleme zu machen:

Delphi-Quellcode:
        ReadDir(PW1);
        PW2 := 'watchdog.exe';
        PW3 := '';
    try
        CmdLine := Format('"%s%s" %s',[IncludeTrailingPathDelimiter(PW1),PW2,PW3]);
        FillChar(SI, SizeOf(SI), #0);
        FillChar(PI, SizeOf(PI), #0);
        SI.cb := SizeOf(SI);
        SI.lpDesktop := PChar('Winsta0\Default');
        SI.dwFlags := STARTF_USESHOWWINDOW;
        SI.wShowWindow := SW_SHOWDEFAULT;
        ProcCreated := CreateProcessAsUser(
                            hUserToken,
                            nil,
                            PChar(CmdLine), // pointer to command line string
                            nil, // pointer to process security attributes
                            nil, // pointer to thread security attributes
                            True, // handle inheritance
                            0, // creation flags
                            nil, // pointer to new environment block
                            nil, // pointer to current directory name
                            SI, // STARTUPINFO
                            PI); // PROCESS_INFORMATION

        if ProcCreated then
        begin
            CloseHandle(PI.hProcess);
            CloseHandle(PI.hThread);
        end
        else
            ShowMessage('Error ' + SysErrorMessage(GetLastError));
    finally
        CloseHandle(hUserToken);
    end;
Meinst du mit Suchpfad PATH ? Ich starte das Programm doch mit Pfadangabe, oder könnte es an den Rechten des Programmverzeichnis liegen ? Der Dienst als solcher funktioniert einwandfrei, nur die Programme starten nicht in der 64Bit Umgebung.

Ich installiere den Service mit einem Setup (InnoSetup), folgende Zeile habe ich eingefügt damit ich im Programmverzeichnis auf ini-Dateien zugreifen kann:

Delphi-Quellcode:
[Dirs]
Name: "{app}"; Permissions: authusers-full;

Muss ich bei Windows 64Bit irgendwelche Verzeichnisrechte setzten ?

kuba
Stefan Kubatzki
E=mc2

Geändert von kuba (16. Jun 2010 um 16:32 Uhr)
  Mit Zitat antworten Zitat