FBA Phases and Processing Order

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.

Note   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
0 FBA does not process tasks with a phase number of 0
0 to 8,500 Service Phases, reserved for system use
3000 Register PNP Class installers
3100 PNP Enumeration, RunOnce, Legacy detection, RunOnce, PNP Enumeration, RunOnce
3550 Networking components installed
3700 Domain Sid and ComputerName
3800 Create authored user accounts
3900 Join offline specified workgroup
4500 Custom security template (secedit.exe) called by an FBA generic command
8500 Second Boot
8501 to 12,000 Any FBA commands that you edit or define
12,000 Reseal and Reboot for Cloning
12,000 Any command that needs to occur after system cloning
20,000 Join a network domain at the end of FBA

**Note   **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.

See Also

First Boot Agent | View FBA Phase Numbers and Processing Order

Last updated on Wednesday, October 18, 2006

© 2006 Microsoft Corporation. All rights reserved.