Ich nutze TProcess, um psexec auf einem Server auszuführen.
Der TProcess.Command führt dort ein psExec aus, der wiederum einen Batch starte (hat was mit den Pfadangaben zu tun).
In TProcess.Command steht folgendes:
Code: Alles auswählen
\\server\uc4_schnittstellen\psexec.exe \\server F:\UC4_Schnittstellen\TM1_Prozesse_Command.cmd
Der Code im Batch sieht dann wie folgt aus:
Code: Alles auswählen
F:\ibm\cognos\tm1_64\bin64\tm1runti.exe -adminhost "XXX" -server "XXX" -CAMNamespace "Tegut" -user "XXX" -pwd "XXX" -process "TEST_TM1_Prozesse" "P0"="Test_p0" "P1"=5
Das tut er aber nicht. TProcess wird nicht beendet. Dieses Phänomen habe ich aber nur auf unserer Citrix-Serverfarm.
Starte ich das Programm lokal von meinem Laptop und führe den Prozess auf dem Server aus, wird TProzess beendet.
Ich hab zum Test den TProcess.Command auch in einen Batch geschrieben und gestartet. Läuft auch super durch.
TProcess läuft mit den Options: NoConsole und WaitOnExit, keine StartupOptions, Priority: alle durchprobiert. Auch mit den Standard-Options das gleiche.
Als wenn TProzess das Ende nicht mitbekommt. Es klappt auf einem Laptop aber klappt aber nicht auf der Citrix-Serverfarm. Kann mein Programm dann nur noch mit dem Task-Manager beenden.
Hat jemand ähnliches schon versucht? Oder eine Idee was ich machen kann?
LG Ronny