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.