msi.h) (MsiSetInternalUI 函数

MsiSetInternalUI 函数启用安装程序的内部用户界面。 然后,此用户界面将用于在此过程中对用户界面生成安装程序函数的所有后续调用。 有关详细信息,请参阅用户界面级别

语法

INSTALLUILEVEL MsiSetInternalUI(
  [in]      INSTALLUILEVEL dwUILevel,
  [in, out] HWND           *phWnd
);

parameters

[in] dwUILevel

指定用户界面的复杂性级别。 此参数的取值可为下列值之一:

含义
INSTALLUILEVEL_FULL
使用向导、进度和错误创作的用户界面。
INSTALLUILEVEL_REDUCED
已创作用户界面,其中取消了向导对话框。
INSTALLUILEVEL_BASIC
简单的进度和错误处理。
INSTALLUILEVEL_DEFAULT
安装程序选择适当的用户界面级别。
INSTALLUILEVEL_NONE
“完全无提示安装”。 这包括取消提升提示(即使需要)。 如果希望用户能够提升权限,请参阅 INSTALLUILEVEL_UACONLY
INSTALLUILEVEL_ENDDIALOG
如果与上述任何值组合使用,则安装程序在成功安装结束时或出现错误时会显示一个模式对话框。 如果用户取消操作,则不会显示任何对话框。
INSTALLUILEVEL_PROGRESSONLY
如果与 INSTALLUILEVEL_BASIC 值结合使用,安装程序将显示简单的进度对话框,但不显示任何模式对话框或错误对话框。
INSTALLUILEVEL_NOCHANGE
UI 级别没有变化。 但是,如果 phWnd 不为 Null,则父窗口可能会更改。
INSTALLUILEVEL_HIDECANCEL
如果与 INSTALLUILEVEL_BASIC 值组合使用,安装程序将显示简单的进度对话框,但不在对话框中显示 “取消 ”按钮。 这会阻止用户取消安装。
INSTALLUILEVEL_SOURCERESONLY
如果此值与 INSTALLUILEVEL_NONE 值组合在一起,安装程序将仅显示用于源解析的对话框。 不显示其他对话框。 如果未 INSTALLUILEVEL_NONE UI 级别,则此值无效。 它与外部用户界面一起使用,旨在处理除源解析之外的所有 UI。 在这种情况下,安装程序将处理源解析。
INSTALLUILEVEL_UACONLY
如果与 INSTALLUILEVEL_NONE 值结合使用,安装将完全无提示,除非需要提升提示。

[in, out] phWnd

指向窗口的指针。 此窗口将成为所创建的任何用户界面的所有者。 返回指向用户界面上一个所有者的指针。 如果此参数为 null,则用户界面的所有者不会更改。

返回值

返回以前的用户界面级别。 如果传递了无效 的 dwUILevel ,则返回 INSTALLUILEVEL_NOCHANGE

注解

当安装程序必须显示用户界面时, MsiSetInternalUI 函数非常有用。 例如,如果安装了某个功能,但源是必须插入的光盘,则安装程序会提示用户输入光盘。根据安装的性质,应用程序可能还会显示进度指示器或向用户查询信息。

加载 Msi.dll 时,用户界面级别设置为 DEFAULT,用户界面所有者设置为 0 (即,初始用户界面所有者是桌面) 。

要求

   
最低受支持的客户端 Windows Server 2012、Windows 8、Windows Server 2008 R2 或 Windows 7 上的 Windows Installer 5.0。 Windows Server 2008 或 Windows Vista 上的 Windows Installer 4.0 或 Windows Installer 4.5。 有关 Windows Installer 版本所需的最低 Windows Service Pack 的信息,请参阅 Windows Installer 运行时要求。
目标平台 Windows
标头 msi.h
Library Msi.lib
DLL Msi.dll

另请参阅

接口和日志记录函数