An autorun.inf
file is a text file that can be used by the AutoRun and AutoPlay components of Microsoft Windows operating systems. For the file to be discovered and used by these component, it must be located in the root directory of a volume. As Windows has a case-insensitive view of filenames, the autorun.inf file can be stored as AutoRun.inf or Autorun.INF or any other case combination.
The AutoRun component was introduced in Windows 95 as a way of reducing support costs. AutoRun enabled application CD-ROMs to automatically launch a program which could then guide the user through the installation process. By placing settings in an autorun.inf
file, manufacturers could decide what actions were taken when their CD-ROM was inserted. The simplest autorun.inf files have just two settings: one specifying an icon to represent the CD in Windows Explorer (or "My Computer") and one specifying which application to run.
Extra settings have been added in successive versions of Windows to support AutoPlay and other new features.
autorun.inf
is an ASCII text file located in the root folder of a CD-ROM or other volume device medium (See AutoPlay device types). The structure is that of a classic Windows .ini file, containing information and commands as "key=value" pairs, grouped into sections.[1] These keys specify:
Autorun.inf has been used to execute a malicious program automatically, without the user knowing. This functionality was removed in Windows 7 and a patch for Windows XP and Vista was released on August 25, 2009 and included in Microsoft Automatic Updates on February 8, 2011.
The mere existence of an autorun.inf file on a medium does not mean that Windows will automatically read it or use its settings. How an inf file is handled depends on the version of Windows in use, the volume drive type and certain Registry settings.
Assuming Registry settings allow AutoRun, then the following autorun.inf handling takes place:
On any drive type, the autorun.inf is read, parsed and instructions followed immediately and silently.[2]
The "AutoRun task" is the application specified by the open
or shellexecute
keys. If an AutoRun task is specified it is executed immediately without user interaction.
Introduction of AutoPlay.
Drives of type DRIVE_CDROM invoke AutoPlay if no autorun.inf file is found.
Drives of type DRIVE_REMOVABLE do not use the autorun.inf file.[1] Any discovered removable media are handled by AutoPlay.
All other handling is as before.
Drives of type DRIVE_FIXED are now handled by AutoPlay. Any specified AutoRun task appears as an option within the AutoPlay dialog together with any text specified by the optional action
key.[3]
Drives of type DRIVE_REMOVABLE now use autorun.inf but continue to be handled by AutoPlay. Any specified AutoRun task needs to be paired with the mandatory action
key to appear as an option within the AutoPlay dialog. Otherwise the AutoRun task is omitted.[3]
All other handling is as before.
The AutoRun task is no longer automatically and silently executed on any drive type. All volumes are handled by AutoPlay which, by default, will present an appropriate dialog to the user.
For all drive types, except DRIVE_CDROM, the only keys available in the [autorun] section are label
and icon
. Any other keys in this section will be ignored. Thus only CD and DVD media types can specify an AutoRun task or affect double-click and right-click behaviour.[3] [4]
There is a patch available, KB971029
for Windows XP and later, that will change AutoRun functionality to this behaviour.[5]
This simple autorun.inf file specifies setup.exe
as the application to run when AutoRun is activated. The first icon stored within setup.exe
itself will represent the drive in Explorer:
Following are the sections and keys allowed in a valid autorun.inf.[3] There also exist architecture specific section types for systems such as Windows NT 4 running on RISC. However these are long outdated and not described here.
{{bracket|autorun}}
The autorun
section contains the default AutoRun commands. An autorun.inf file must contain this section to be valid. Keys allowed are:
action=<var>text</var>
action=@[<var>filepath</var>\]<var>filename</var>,-<var>resourceID</var>
open
or shellexecute
keys. The text is expressed as either text or as a resource reference. The icon
is displayed next to the text. This item is always first in the AutoPlay dialog and is always selected by default.
icon=<var>iconfilename</var>[,<var>index</var>]
open
key. label=<var>text</var>
open=[<var>exepath</var>\]exefile [param1 [param2 ...]]
CreateProcess
function that is called by AutoRun. Note that if the application name includes spaces the path should be enclosed in double quote, e.g. open=""spread sheets.exe"" shellexecute=[<var>filepath</var>\]filename [<var>param1</var> [<var>param2</var> ...]]
ShellExecuteEx
function that is called by AutoRun. UseAutoPlay=1
open
or shellexecute
are performed.
open
or shellexecute
are ignored. shell\<var>verb</var>\command=[<var>exepath</var>\]<var>exefile</var> [<var>param1</var> [<var>param2</var> ...]]
shell\<var>verb</var>=<var>menu text</var>
shell=<var>verb</var>
shell\<var>verb</var>
as the default command in the shortcut menu. The default command is the command executed when the drive icon is double-clicked. If missing, the default menu item will be "AutoPlay", which launches the application specified by the open
entry.
shell\readme\command=notepad readme.txtshell\readme=Read & Meshell=readme
{{bracket|Content}}
The Content
section allows authors to communicate the type and intent of content to AutoPlay without AutoPlay having to examine the media.
Valid keys are: MusicFiles
, PictureFiles
, VideoFiles
. Each key can be set to indicate true or false values and values are not case sensitive.
Example:
{{bracket|ExclusiveContentPaths}}
Limits AutoPlay's content search to only those folders listed, and their subfolders. The folder names are always taken as absolute paths (a path from the root directory of the media) whether or not a leading slash is used.
Example:
{{bracket|IgnoreContentPaths}}
AutoPlay's content search system will not scan the folders listed, nor their subfolders. IgnoreContentPaths
takes precedence over ExclusiveContentPaths
so if a path given in a [IgnoreContentPaths] section is a subfolder of a path given in an [ExclusiveContentPaths] section it is still ignored.
Example:
{{bracket|DeviceInstall}}
Only Windows XP[3]
This section is used to indicate where driver files may be located. This prevents a lengthy search through the entire contents of a CD-ROM. Windows XP will fully search:
without this section present. All other media should include this section to have Windows XP autodetect any drivers stored on that media.
The section is not used with AutoRun or AutoPlay and is only referred to during a driver installation phase. The only valid key is:
DriverPath=directorypath
which lists a path Windows will search for driver files. All subdirectories of that path are also searched. Multiple key entries are allowed.
If no DriverPath
entry is provided in the section or the DriverPath
entry has no value, then that drive is skipped during a search for driver files.
Example:
[autorun]open=setup.exeicon=setup.exe,0label=My install CD