如何使用 Wix 管理的引导程序获取正在安装的功能的名称 ui

how to get the name of the feature being installed using wix managed bootstrapper ui

我正在使用 WiX 安装可执行文件,并且我已将 ManagedBootstrapperApplicationHost 用于 CustomUI。

是否可以在安装时获取正在安装的功能的名称?

如果可能的话,我们怎样才能得到特征的名称?

如有任何帮助,我们将不胜感激。

谢谢。

功能没有一个接一个安装。例如,如果正在安装 3 个功能部件,每个功能部件有 10 个文件,那么 InstallFiles 操作将同时安装所有 30 个文件。与注册表项相同。所以你不能显示一个 UI 说 "Installing Feature1" 然后再显示 "Installing Feature2" 因为那不会发生。您所知道的只是正在安装一些功能列表。

您的评论询问是否已成功安装某个功能。这个问题永远不会出现 - 永远不会有一些功能安装而其他功能失败。 MSI 安装是一个事务,它要么全部工作,要么失败并回滚并删除它所做的更改,以便系统恢复到以前的状态。

不清楚为什么要显示功能列表如此重要。如果您使用 MSI 的内部 UI,则会有一个功能选择对话框,用户可以在其中选择要安装的功能;如果你使用 Burn UI 同样的东西是可用的,所以用户可以看到选择了哪些功能。

在 MSI 中,正在安装的功能列表(在选择它们之后)在 ADDLOCAL 属性 中,但这是内部名称。它可用于显示最后安装的功能列表,但根据定义,选择的内容将被安装,否则安装将完全回滚。我相信我从未见过在最后显示安装的 MSI 功能列表的安装 - 这是多余的信息。了解您遇到的情况或您要解决的问题会很有用,如果您认为需要显示列表,因为有些可能会安装而其他可能会失败,那么就没有意义了,正如我所说.