MsiSetInternalUI (msi)
Last changed: -84.52.90.34

.
Summary
The MsiSetInternalUI function enables the installer's internal user interface. Then this user interface is used for all subsequent calls to user-interface-generating installer functions in this process. For more information, see User Interface Levels.

C# Signature:

[DllImport("msi.dll", SetLastError=true)]
static extern int MsiSetInternalUI(int dwUILevel, ref IntPtr phWnd);

or (and define enum INSTALLUILEVEL)

[DllImport("msi.dll", SetLastError = true)]
static extern int MsiSetInternalUI(INSTALLUILEVEL dwUILevel, ref IntPtr phWnd);

VB Signature:

<DllImport("msi.dll", SetLastError:=True)> _
Private Function MsiSetInternalUI(dwUILevel As INSTALLUILEVEL, ByRef phWnd As IntPtr) As Integer
End Function

User-Defined Types:

public enum INSTALLUILEVEL
{
    INSTALLUILEVEL_NOCHANGE = 0,    // UI level is unchanged
    INSTALLUILEVEL_DEFAULT  = 1,    // default UI is used
    INSTALLUILEVEL_NONE     = 2,    // completely silent installation
    INSTALLUILEVEL_BASIC    = 3,    // simple progress and error handling
    INSTALLUILEVEL_REDUCED  = 4,    // authored UI, wizard dialogs suppressed
    INSTALLUILEVEL_FULL     = 5,    // authored UI with wizards, progress, errors
    INSTALLUILEVEL_ENDDIALOG    = 0x80, // display success/failure dialog at end of install
    INSTALLUILEVEL_PROGRESSONLY = 0x40, // display only progress dialog
    INSTALLUILEVEL_HIDECANCEL   = 0x20, // do not display the cancel button in basic UI
    INSTALLUILEVEL_SOURCERESONLY = 0x100, // force display of source resolution even if quiet
}

Alternative Managed API:

Do you know one? Please contribute it!

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

IntPtr hwnd = IntPtr.Zero;
MsiUtils.MsiSetInternalUI(MsiUtils.INSTALLUILEVEL.INSTALLUILEVEL_NONE , ref hwnd);

Documentation