First of all, some people choose to disable autorun for security reasons; but most Windows computers have it enabled.
Put a file named autorun.inf in the root of your USB flash drive. This is what's in mine:
[Autorun]
Open=PStart.exe
Action=Start portable apps
Icon=diskicon.ico
What it does: when you insert this disk, starts PStart.exe
On older computers, the program specified in Open=
will launch automatically.
On most modern computers (Windows XP SP2+, Vista), dialog "what do you want to do" will be displayed (for security reasons), but what you have in autorun.inf
will display as the selected default, with Icon=
as icon and Action=
as description. If you want to launch it, just click the "OK" button in the dialog.
So, although I'm not aware of any way to start the application (e.g. PStart) immediately, it is possible to insert flash disk with this configuration and start application by clicking OK.
Tested on different computers, running Windows XP without a SP, also on Windows XP sp 1, sp2, sp3, and on various Vistas (not sure which types, but should work all the way from Vista Home Basic to Vista Enterprise Super-Mega-Premium-Extended Edition) and "Windows 7". Also works on Windows 2000 (although autorun on Win2000 for removable drives is not enabled in default configuration).
Note that some applications, in addition, may trigger the "unknown/unsigned exacutable" security dialog, as if you opened them manually.
Edit: For more details, see also http://msdn.microsoft.com/en-us/magazine/cc301341.aspx