Hola,
A ver. Hasta donde yo llego, puedes utilizar la raíz del registro "LOCAL_MACHINE", para que el programa se ejecute al inicio de la sesión de usuario en Windows, para todos los usuarios. No sé si esto último sólo se puede hacer desde la cuenta de un usuario administrador. Si usamos la raíz del registro "CURRENT_USER", entonces el programa se ejecutaría para el usuario que hubiera iniciado sesión, repito, hasta donde yo llego.
Lo que sí ocurre es que el programa se ejecutará cuando el usuario inicie sesión. Para hacerlo antes, es preciso usar un servicio de Windows para el usuario correspondiente (SYSTEM), si no me equivoco. Y hasta ahí puedo leer.