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.
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)
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.