Changes in Windows Vista's automatic application startup options
Posted: (EET/GMT+2)
As you know, Windows Vista takes a more stringent approach in security, and this will also affect application you develop. Many especially consumer-oriented applications have the (bad, in my opinion) to configure themselves to automatically start while Windows loads. Now, if those applications also need true administrative rights (because of older coding habits), Vista will block them from starting.
According to a recent Microsoft document, somewhat oddly available at Microsoft Downloads instead of MSDN, the locations (folders and registry keys) that in Vista simply block out auto-starting programs that require admin rights are:
- %USERPROFILE%\Start Menu\Programs\Startup -- the Per-User Startup folder
- %ALLUSERSPROFILE%\Start Menu\Programs\Startup -- the Per-Machine Startup folder
- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run -- Per-User RUN key
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run -- Per-Machine RUN key
Now, if your application relies on these locations to automatically start, consider a) changing your application not to always require admin rights, or b) convert your application to a service application. And if I may, there's my personal c): don't use the per-user registry keys, but instead use the Startup folder. This way, your user can actually see all those applications that automatically start, *and* s/he is able to control them. Not all users are able to use RegEdit or know about tools such as AutoRuns.