
Question:
I am creating a Windows app that will run on Windows 2012r2 and soon be migrated to newer servers.
This app will be started from task scheduler and run several times a day.
It will start up, monitor a file system and, based on what it finds on the file system, will update a database.
I want it to run even when the user is not logged in.
I don't want it to pop up a console window while it is running because I inherited some applications that are doing that and it is quite annoying.
I will be writing it in C#.
In Visual Studio 2017 which project type should I choose?
<ol><li>Blank App</li> <li>WPF App</li> <li>Console App (.NET Core)</li> <li>Console App (.NET Framework)</li> <li>Other?</li> </ol>I am new to Windows development so please use terminology that I will see in Visual Studio 2017 so I can understand the answer.
[EDIT] I changed Console App (.Net Standard) to (.Net Framework) because Standard does not exist. I was suffering from temporary insanity when I listed that as an option.
Answer1:Since there is no user interface, and you are just monitoring the file system and updating a database and running on a Window Server I would recommend: 4. Console App (.NET Framework), and in the Application/Properties for the app set the output type to Windows application and this will prevent any type of console window from showing. This is the type of application I use on a frequent basis to accomplish tasks very similar to what you are describing. The security settings you have for the user account logging into the server will determine if you can run it whether the user is logged in or not.