Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

Description of the RunOnceEx Registry Key

View products that this article applies to.


This article describes the functionality of the RunOnceEx registry key.

↑ Back to the top

More information

Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
322756 How to back up and restore the registry in Windows
RunOnceEx has the following features:
  • Status: A dialog box is displayed while the items contained in the registry key are being processed. The entries to be processed are grouped into sections and the dialog box highlights the current section being processed. You can disable the status dialog box feature.
  • Performance: The majority of the commands contained in the Run and RunOnce registry keys create separate processes, which is inefficient. The RunOnceEx registry key does not create a separate process. The RunOnceEx registry key also supports a dependency list of DLLs that remain loaded while either all the sections or some of the sections are being processed.
  • Error Handling: If an exception occurs while calling a function in a DLL, the exception is caught and an error dialog box is displayed to the user. You can suppress this error dialog box by using a flag in the RunOnceEx registry key. You can also set a flag to enable log errors and run the RunOnceEx registry key.
  • Deterministic: The RunOnceEx registry key sorts the entries and sections alphabetically to force a deterministic order.
The Runonce.exe and Runonce.exe.mui files are located at the following locations:
32-bit systems:
Windows Vista and higher:
64-bit systems:
64-bit processes:
Windows Vista and higher:
32-bit processes:
Windows Vista and higher:

In Windows 2000, Windows XP and Windows Server 2003, the RunOnceEx registry key exists by default:


In Windows Vista, Windows Server 2008, Windows 7 and Windows Server 2008 R2. the RunOnceEx registry key does not exist by default:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx key

RunOnceEx Sample to Run Notepad

Title = "My Setup Title"
Flags = dword:00000002

RunMyApp = "||notepad.exe"

Sample Syntax

Flags = dword:00000000
Title = "Status Dialog Box Title"

0001 = " xxx 1"
000 X = " xxxx "

Entry1 = "MyApp1.exe"
Entry X = "MyApp2.exe"

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\000 x

  • "xxx1, xxxx" is a dynamic-link library (DLL) or .ocx file name (such as My.ocx or My.dll).
  • "0001, 000x" are section names. Section names can be alphanumeric.
  • "entry1, entryX" are registry string values that point to a program file to run.

Definition of Values and Subkeys

Flags is a DWORD value located in the RunOnceEx key to enable/disable the following settings.

ValueFunctionFunction definition
0x00000000DefaultAll functions are disabled
0x00000004Check Shell StatusVerifies the shell is ready to accept OLE commands
0x00000008No Error DialogsError dialog boxes are not displayed
0x00000010Create Error Log FileCreate C:\Windows\RunOnceEx.err file if errors occur
0x00000020Create Execution Log FileCreate a C:\Windows\RunOnceEx.log file with status of commands
0x00000040No Exception TrappingDoes not trap exceptions that occur when registering DLLs
0x00000080No Status DialogStatus dialog box is not displayed while RunOnceEx runs

The values are cumulative. If you want "No Status Dialog" and "Create Error Log File," set Flags to hexadecimal 90 (80 + 10).

Title is a STRING value that you can use to fill in the Status dialog box title.

The HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\Depend registry key contains the .dll files and the .ocx files that should be kept loaded in the memory while all sections of RunOnceEx are running.

The HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\000X registry keys contain entries to be run. These sections are run in alphabetical order. Therefore, the ...\RunOnceEx\0001 section is processed before the ...\RunOnceEx\0002 section.

The string values within a ...RunOnceEx\000 x section contain the commands that should be run for the section. The format is:
" DllFileName | FunctionName | CommandLineArguements "


"|| command parameters "

For example:
"Line1" = "||my.exe -quiet -url"
"Line2" = "shdocvw.dll|DllRegisterServer"
Line1 runs the "my.exe -quiet -url" command line. Line2 runs the DllRegisterServer function in Shdocvw.dll.

The HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\000 x \Depend registry key contains the .dll files and the .ocx files that should be kept in memory while section 000 x is running.

For more information, click the following article number to view the article in the Microsoft Knowledge Base:
232487 Description of the RunOnceEx Registry Key
232509 Syntax for the RunOnceEx Registry Key
For more information about the RunOnce Request, visit the following Microsoft Web site: For more information about, visit the following Microsoft Web site:
A Deep Dive into First Boot Agent (Standard 2009)

↑ Back to the top

Applies to:

↑ Back to the top

Keywords: kbinfo, kbsetup, KB310593

↑ Back to the top

Article Info
Article ID : 310593
Revision : 2
Created on : 4/14/2010
Published on : 4/14/2010
Exists online : False
Views : 1939