如何从.MSI文件中从树视图对话框中提取节点

时间:2016-07-25 14:38:37

标签: .net wix treeview windows-installer

短版本我有一个带有TreeView对象的MSI文件,用于指定要包含在安装中的模块。这些可以使用命令行参数传递,但不幸的是,作者没有发布用于自动安装的组件列表。有没有办法从MSI文件中提取 TreeView对象以及与 关联的友好名称或描述?

我尝试使用Orca来提取Components表,其中包含.MSI的组件名称,但它不包含用户界面的TreeView部分中可见的友好名称或描述。

背景(您可以跳过此步骤)

我有一组带有自己的MSI文件的安装包。每个由一个我无法与之通信的团队创建的Setup.exe依次调用。为了自动化安装,我可以通过调用

传递我想要为相关MSI文件安装的组件

Setup.exe [/productinstallerargs=args]

但是,作者发布的组件列表在2年内没有更新,而有许多新构建和添加的组件。要使用静默安装(包括所需组件)自动化新版本,我需要一个组件名称列表,以及它们的名称传递给Setup.exe;友好的名称是部署软件的人可以理解的名称。

对我来说,最明显的方法是从MSI获取TreeView对象,该对象链接到一个地方的组件名称和友好名称。一旦每个组件都有这两个名称,我就可以列出工程师需要安装的组件的友好名称,并生成所需的所有软件包进行静默安装所需的正确参数。因此,非常感谢通过从MSI或任何其他方法中提取TreeView对象来获取与组件名称匹配的友好名称的任何帮助。

1 个答案:

答案 0 :(得分:1)

您的术语可能有误。要安装的可选部件列表在大多数标准安装的功能表中。组件大多是捆绑到功能中的单个文件。

Feature表具有树视图 - 请参阅Feature和Feature_Parent列 - 标题和描述是友好名称和功能描述。