A definition of the Run keys in the Windows XP registry (314866)



The information in this article applies to:

  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows XP 64-Bit Edition
  • Microsoft Windows XP Driver Development Kit (DDK)
  • Microsoft Windows XP Embedded
  • Microsoft Windows Server 2003, Datacenter Edition
  • Microsoft Windows Server 2003, Datacenter Edition for Itanium-based Systems
  • Microsoft Windows Server 2003, Datacenter x64 Edition
  • Microsoft Windows Server 2003, Enterprise Edition
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Standard Edition
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Microsoft Windows Server 2003, Web Edition

This article was previously published under Q314866
For a Microsoft Windows 2000 version of this article, see 137367.

SUMMARY

This article lists and defines four Run keys that are in the Microsoft Windows XP registry.

MORE INFORMATION

Run keys cause programs to automatically run each time that a user logs on. The Windows XP registry includes the following four Run keys:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce

Each of these keys has a series of values. The values allow multiple entries to exist without overwriting one another. The data value for a value is a command line.

There are some special considerations for the third and fourth keys in the list, the RunOnce keys:
  • Beginning with Windows XP, the values in the RunOnce keys are run only if the user has permission to delete entries from the respective key.
  • The programs in the RunOnce key are run sequentially. Explorer waits until each one has exited before continuing with normal startup.
  • By default, Run keys are ignored when the computer starts in Safe mode. Under the RunOnce keys, you can prefix a value name with an asterisk (*) to force the associated program to run even in Safe mode.
  • You can prefix a RunOnce value name with an exclamation point (!) to defer deletion of the value until after the command runs.
  • Without the exclamation point prefix, a RunOnce value is deleted before the command runs. As a result, if a RunOnce operation does not run properly, the associated program is not asked to run the next time you start the computer.
If more than one program is registered under any particular key, the order in which those programs are run is indeterminate. A program run from any of these keys should not write to the key during its execution. Doing so will interfere with the execution of other programs registered under the key. Furthermore, applications should use the RunOnce keys only for transient conditions (such as to complete application setup); an application must not continually re-create entries under RunOnce. Doing so will interfere with Windows Setup.

Modification Type:MajorLast Reviewed:4/14/2005
Keywords:kbenv kbinfo KB314866