I wrote a C# app with autorun feature. It successfully writes a registry key to HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
and application appears in the task manager (and Sysinternals autoruns), but the application doesn't start after user logon, while others do.
P.S.: Adding it to the task scheduler, placing shortcut to autorun
folder, or .bat tricks are not the solution
the solution is create key in HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run
seems 64-bit windows autorun mechanism is not able to start 32-bit apps if they not "declared" as 32-bit
it will be nice if someone post here link to short documentation how windows process autorun (order, error handling etc)