I would assume I would let the OS handle it. The basic point would be to let the user control when things loaded and give them a little control over the speed.
Ok next question on this topic then becomes Which OS is it written for XP? Vista? Windows 7? each one has a different loader. XP uses NTLDR
Vista Windows Boot Manager, and Windows 7 RC uses Boot Loader. the load sequence between the 3 are different and the timings are different. Critical devices load before startup programs in Windows 7 Critical Device Drivers load after certain startup processes in Vista and XP so youur startup list may differ.
As far as programs like AV, it would be up to the user. I wouldn't think my application should care.
Depends on the AV software. Some like Avast and Kaspersky have a realtime boot scanner that if its enabled would need to be accounted for.
Others like Trend Micro load After windows loads and login occurs but as soon as authentication happens for a console user the AV takes control and does not pass it back until both update and memory resident scans are completed.
It should load in safe mode as well, but maybe maintain a different list of applications to load?
Definitely have seperate lists of programs to load as well as loading those programs with the correct startup params (switches) if they have them that will disable certain types of behavior that safe mode cannot cope with.
The only problem I see is maintaining the list and preventing the OS from just loading stuff.
Yeah. The OS is going to attempt to load stuff regardless of what process you put in front of it to limit its execution. ( this is why i hate Windows OS's and why virus and trojan writers Love it) But AV Software can get around this aka Avast and Kaspersky so it IS doable. I dont understand how they manage that trick tho but they do. Maybe borrow their methods?
I haven't had much time to design the app so this is good to talk about now, since I haven't written any code at all. Not even a proof of concept.
Always the best time to discuss writing an app is before you have written any code