C# | Visual Basic | Visual C++ |
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 )
- 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.
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