SetExternalUI Method (uiHandler, messageFilter)

DTF API

Copy image CopyHover image
Deployment Tools Foundation SetExternalUI Method (uiHandler, messageFilter)
Deployment Tools Foundation NamespacesMicrosoft.Deployment.WindowsInstallerInstallerSetExternalUI(ExternalUIRecordHandler, InstallLogModes)
[MSI 3.1] Enables a record-based external user-interface handler. This external UI handler is called before the normal internal user-interface handler. The external UI handler has the option to suppress the internal UI by returning a non-zero value to indicate that it has handled the messages.
Declaration Syntax
C# Visual Basic Visual C++ F#
public static ExternalUIRecordHandler SetExternalUI(
	ExternalUIRecordHandler uiHandler,
	InstallLogModes messageFilter
)
Public Shared Function SetExternalUI ( 
	uiHandler As ExternalUIRecordHandler,
	messageFilter As InstallLogModes
) As ExternalUIRecordHandler
public:
static ExternalUIRecordHandler^ SetExternalUI(
	ExternalUIRecordHandler^ uiHandler, 
	InstallLogModes messageFilter
)
static member SetExternalUI : 
        uiHandler : ExternalUIRecordHandler * 
        messageFilter : InstallLogModes -> ExternalUIRecordHandler 
Parameters
uiHandler (ExternalUIRecordHandler)
A callback delegate that handles the UI messages
messageFilter (InstallLogModes)
Specifies which messages to handle using the external message handler. If the external handler returns a non-zero result, then that message will not be sent to the UI, instead the message will be logged if logging has been enabled.
Return Value
ExternalUIRecordHandler
The previously set external handler, or null if there was no previously set handler
Remarks

To restore the previous UI handler, a second call is made to SetExternalUI using the ExternalUIHandler returned by the first call to SetExternalUI and specifying None as the message filter.

The external user interface handler does not have full control over the external user interface unless SetInternalUI(InstallUIOptions) is called with the uiLevel parameter set to Silent. If SetInternalUI is not called, the internal user interface level defaults to Basic. As a result, any message not handled by the external user interface handler is handled by Windows Installer. The initial "Preparing to install..." dialog always appears even if the external user interface handler handles all messages.

SetExternalUI should only be called from a bootstrapping application. You cannot call it from a custom action

Win32 MSI API: MsiSetExternalUIRecord

Assembly: Microsoft.Deployment.WindowsInstaller (Module: Microsoft.Deployment.WindowsInstaller.dll) Version: 3.0.0.0 (3.11.1.2318)