Desktop Functions:

   Smart Device Functions:

Show Recent Changes
Subscribe (RSS)
Misc. Pages
Helpful Tools
Suggested Reading
Website TODO List
Support Forum
Download Visual Studio Add-In

Terms of Use
Privacy Policy
msisetinternalui (msi)
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:

    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!



Tips & Tricks:

Please add some!

Sample Code:

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


Please edit this page!

Do you have...

  • helpful tips or sample code to share for using this API in managed code?
  • corrections to the existing content?
  • variations of the signature you want to share?
  • additional languages you want to include?

Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing supporting types needed for this API (structures, delegates, and more).

Access directly from VS:
Terms of Use
Edit This Page
Find References
Show Printable Version