使用用户界面

本部分主要关注安装包的开发人员如何使用安装程序的数据库和内部 UI 创作安装用户界面 (UI)。 有关内部和外部 UI 之间的差异的详细信息,请参阅关于用户界面

若要在安装过程中显示对话框序列或广告牌,必须在相应操作序列表的“操作”列中输入对话框的名称。 对话框的名称必须出现在 InstallUISequenceAdminUISequence 表中,具体取决于 UI 是计划在 INSTALLADVERTISE 还是 ADMIN 操作下运行。

尽管安装程序支持创作自定义对话框和广告牌,但某些对话框序列也有许多保留名称。 由于安装程序在执行某些操作时使用这些名称,因此这些名称只能与保留这些名称的对话框类型一起使用。 对话框中提供了这些保留名称的列表以及每个特殊对话框序列的说明。

UI 中每个对话框或广告牌的属性必须分别在 DialogBillBoard 表中指定。 还必须通过设置对话框的样式位标志,在 Dialog 表中指定每个对话框的样式 。

必须将控件和文本添加到对话框中,并且这些控件和文本必须绑定到 ControlEvents,以便用户能够与安装过程交互。 有关如何向对话框添加控件的详细信息,请参阅添加控件和文本

Windows Installer 内部 UI 处理程序可以有选择地显示或隐藏对话框,以控制安装过程中最终用户交互的级别。 这些级别的最终用户交互称为“完全”、“简化”、“基本”和“无”。 有关这些 UIlevel 的完整说明,请参阅用户界面级别

有两种方法可以设置 UI 级别。 可以通过调用 MsiSetInternalUI 以编程方式设置 UI 级别,MsiSetInternalUI 的第一个参数指定 UI 级别。 包开发人员还可以使用命令行选项“/q”设置 UI 级别。

每个 UI 级别的行为由包开发人员创作 .msi 文件确定。 内部 UI 的作者可以灵活地控制如何为包运行这些级别。 这些级别的可用性取决于安装包的创作。 作者必须在 Dialog 和 Control 表中的用户界面中指定每个对话框和控件。

  • 完整的 UI 通常显示用户界面向导行为,例如序列中包含“下一步>>”按钮的每个对话框。 这种形式的 UI 是许多用户所熟悉的,并且是作者要创建的最常见 UI 类型。 安装程序显示对话框的逻辑序列,并提示用户与位于每个对话框中的控件交互。
  • 简化的 UI 通常会禁止显示向导行为。
  • 基本 UI 通常只向用户显示进度消息。
  • UI 级别为“无”表示无提示安装。

Windows Installer 在 ProgressBar 控件中提供了一个唯一的进度栏指示器,该指示器向用户显示安装完成之前剩余的总时间的估计值。 有关进度栏的详细信息,请参阅创作 ProgressBar 控件

UI 作者应便于所有用户访问其应用程序或产品。 若要详细了解主动辅助功能和 Windows Installer,请参阅辅助功能

有关创作用户界面的详细信息,请参阅添加控件和文本创作 ProgressBar 控件创作磁盘提示消息创作带条件的“请稍候...”消息框预览用户界面。 有关作者广告牌的详细信息,请参阅在无模式对话框中显示广告牌

从 Windows Installer 4.5 开始,自定义用户界面可以嵌入到 Windows Installer 包中。 有关嵌入式自定义 UI 的示例,请参阅使用嵌入式 UI