FBA Phases and Processing Order (Windows Embedded Standard 2009)


The order in which commands are processed during FBA is determined first by the phase number of the command and then by the ordinal value of the command within each phase. FBA supports a maximum of 65,535 phases, and 65,536 commands per phase.

You can define FBA commands and include them in a configuration. User-defined FBA commands are also referred to as custom resources and they are defined by using Component Designer or Target Designer. The phase number of a custom resource is specified within its extended properties. The phase number must be set to 8501 or higher. If the command must occur after system cloning, the phase should be set to 12000.

Although the default phase number is 0 for the FBA Generic Command custom resource and 4500 for FBA DLL/COM Registration custom resource, you must change the phase to a number greater than 8500. Phases 0-8500 are reserved for system use only.

The ordinal value is based on the order in which the configuration script sees the custom resource during the build process. This is dictated by the build order number that is specified within the resource. If a build order number is not specified, the default of 1000 is used. 1000 indicates random build order and that translates to a random ordinal value.

If you need a specific FBA command to run before, during, or after a certain phase, or before or after another FBA command, you can control this by specifying a certain phase number or build order number when you define the custom resource.

The following list shows the DWORD index values that are assigned to each FBA command:

  • HIWORD(index), indicates the FBA phase.
  • LOWORD(index), indicates the calling order, or ordinal value, within an FBA phase.

The following table shows the phase numbers for some significant FBA events.

Phase number Event


FBA does not process tasks with a phase number of 0

0 to 8,500

Service Phases, reserved for system use


Register PNP Class installers


PNP Enumeration, RunOnce, Legacy detection, RunOnce, PNP Enumeration, RunOnce


Networking components installed


Domain Sid and ComputerName


Create authored user accounts


Join offline specified workgroup


Custom security template (secedit.exe) called by an FBA generic command


Second Boot

8501 to 12,000

Any FBA commands that you edit or define


Reseal and Reboot for Cloning


Any command that needs to occur after system cloning


Join a network domain at the end of FBA

FBA saves each phase number and ordinal value as it runs. If a system reboots during FBA, processing is resumed at the last phase number and ordinal value.

Community Additions