FBA DLL/COM Registration
This resource is required for a component that needs to register a Component Object Model (COM) InProc server during the first boot of the run-time image. First Boot Agent (FBA) calls the Win32 function LoadLibrary and then optionally calls DllRegisterServer/DllUnregisterServer and/or DllInstall.
The following extended properties can be set for the FBA DLL/COM Registration resource in Component Designer or in Target Designer.
Arguments
Type Required or optional String Optional Specifies the value for the pszCmdLine parameter passed to the **DLLInstall****entry point.
Arguments containing paths should use environment variables in path names. For more information, see Predefined System Environment Variables.
The default value is an empty string.
ComponentVSGUID
Type Required or optional GUID Not applicable Reserved for Microsoft.
DllInstall
Type Required or optional Boolean Required If True, the **DllInstall****entry point is called. Both DLLInstall and DLLRegister can be set to True. The default value is False.
DllRegister
Type Required or optional Boolean Required If the default value of True, then either the **DllRegisterServer****or the DllUnregisterServer entry point is called based on the value of the Flags property. Both DLLInstall and DLLRegister can be set to True.
ErrorControl
Type Required or optional Integer Required Controls how FBA deals with an error when processing an operation.
- 0: Continue on error. Default.
- 1: Halt on error.
If the return value of LoadLibrary, GetProcAddress, or the DLL entry point is greater than 0x80000000, then FBA considers this an error and behaves according to the value of this property.
Filepath
Type Required or optional String Required Specifies the name of the DLL to be loaded. This value must be a fully qualified path, for example, %11%\Your.dll. Use environment variables in path names. For more information, see Predefined System Environment Variables.
Flags
Type Required or optional Integer Required Bitmask that is interpreted as follows:
- Bit 0: Specifies which entry point is called first, DLLRegisterServer/DllUnregisterServer or DLLInstall. If set, then DLLInstall is called first. Default.
- Bit 1: Specifies the type of operation to be performed. If **DllRegisteris True and this bit is 0 then DllRegisterServer is called otherwise DllUnregisterServer is called. If **DllInstallis True and this bit is 0, then DllInstall(True, <Arguments>) is called; otherwise, DllInstall(FALSE, <Arguments>).
Reboot
Type Required or optional Boolean True Specifies if a reboot is required following the completion of the FBA operation.
- True: FBA completes its operation, reboots, and then continues.
- FALSE: FBA continues to process without rebooting. Default.
Start
Type Required or optional Integer Required Reserved for Microsoft. Must be 1.
Timeout
Type Required or optional Integer Required Specifies the time, in seconds, that a program is allowed to execute before being terminated by FBA.
The default value of 0 indicates an infinite number of seconds.
Type
Type Required or optional Integer Required Reserved for Microsoft. Must be 2.
The following table shows how the various combinations of Flags, DllInstall, and DllRegister are interpreted.
DllRegister | DLLInstall | Flags | Effect |
---|---|---|---|
False | False | 0 | Not applicable |
True | False | 0 | DllRegisterServer |
False | True | 0 | DllInstall(TRUE) |
True | True | 0 | DllRegisterServer followed by DllInstall(TRUE) |
False | False | 1 | Not applicable |
True | False | 1 | DllRegisterServer |
False | True | 1 | DllInstall(TRUE) |
True | True | 1 | DllInstall(TRUE) followed by DllRegisterServer |
False | False | 2 | Not applicable |
True | False | 2 | DllUnregisterServer |
False | True | 2 | DllInstall(FALSE) |
True | True | 2 | DllUnregisterServer followed by DllInstall(FALSE) |
False | False | 3 | Not applicable |
True | False | 3 | DllUnregisterServer |
False | True | 3 | DllInstall(FALSE) |
True | True | 3 | DllInstall(FALSE) followed by DllUnregisterServer |
See Also
Last updated on Wednesday, October 18, 2006
© 2006 Microsoft Corporation. All rights reserved.