FBA DLL/COM Registration
5/10/2007
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 DllRegister is True and this bit is 0 then DllRegisterServer is called otherwise DllUnregisterServer is called. If DllInstall is 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 |