I believe scheduling your app using windows Task Scheduler in a way where it will run when the computer starts meets your requirement of "run this before windows login screen".
How to schedule a task:
http://windows.microsoft.com/en-US/windows7/schedule-a-task[
^]
More specifically from that link, what you will want is "To select a schedule based on common recurring events, click When the computer starts or When I log on, and then click Next."
The other way would be to do it using windows services
Creating a Basic Windows Service in C#[
^]
So that way the task kicks off when the computer starts. But i would suggest playing around with the task scheduler to do whatever it is you are wanting to do. If i knew more about your requirement there may be other ways to do what you are wanting (Active directory/domain stuffs) but from what i know...this should do what you need.