Search code examples
c#taskfilenotfoundexceptionpath-finding

program searching wrong directory for config file when run from task scheduler


I have a c# form application. It opens a text file upon loading. From this text file it reads the default settings. It then fills the numericupdown fields and textbox fields with the default data.

I want to run this every night at a specific time. The windows task seems to be trying to open the program. However, upon loading it gets a FileNotFoundException Could not find file 'C:\Windows\system32\Settings.txt Which is nowhere close to my application run folder. It opens properly when running from command line and using run in MVS2013.

in my program I am searching for this file using relative pathing

could anyone shed some light on this ridiculousness? I would greatly appreciate it.


Solution

  • Your path is relative to the working directory, which seems to be "C:\Windows\system32" if you didn't specify any. So possible solutions are, set working directory to the directory of your executable file (the "Start in (optional)" field) :

    enter image description here

    .. or modify your program to use absolute path of the executable (you can get the absolute path programmatically).