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.