Laden...

[erledigt] Beim Ausführen über Scheduled Task landet das Logfile im falschen Verzeichnis

Erstellt von pkoeppe vor 12 Jahren Letzter Beitrag vor 12 Jahren 684 Views
P
pkoeppe Themenstarter:in
319 Beiträge seit 2006
vor 12 Jahren
[erledigt] Beim Ausführen über Scheduled Task landet das Logfile im falschen Verzeichnis

Hallo zusammen,

ich habe eine Anwendung (32 Bit), welche ich auf einem Windows 2008 R2 Server (64 Bit) ausführe. Bei der Ausführung wird mit NLog ein Logfile erzeugt. Die Anwendung liegt auf einem zweiten Laufwerk also nicht im Programme-Ordner. Wenn ich die Anwendung mit meinem Benutzer direkt ausführe klappt alles. Wenn ich die Anwendung als Scheduled Task ausführen lasse, landet das Logfile aber nicht im Ausführungsordner sondern unter C:\Windows\SysWOW64. Habt Ihr eine Ahnung was das Problem ist und wie ich es beheben kann? Danke schon mal für Euren Einsatz.

pkoeppe

Wer nicht fragt, bleibt dumm.

G
538 Beiträge seit 2008
vor 12 Jahren

Hallo,

dein Problem ist das Arbeitsverzeichnis, welches nicht dem entspricht was du erwartest. In den FAQs gibt's glaube ich etwas dazu.

Environment.SetWorkingDirectory() könnte dir auch nützlich sein.

Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)

P
pkoeppe Themenstarter:in
319 Beiträge seit 2006
vor 12 Jahren

Danke. Das war hilfreich. Tatsächlich unterscheidet sich der Environment.CurrentDirectory, wenn man das Programm direkt ausführt oder über den Scheduler.

Ich setze jetzt einfach bei Programmstart als erstes

Environment.CurrentDirectory = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);

und jetzt funktioniert es.

pkoeppe

Wer nicht fragt, bleibt dumm.