从 MSI 文件中检索公共属性

Ken*_*ber 14 windows msi

是否有用于从 Windows MSI 文件中检索可用公共属性的工具或机制?

一些提供 MSI 文件的供应商自己没有记录这些文件,所以我很好奇是否有办法在没有源代码的情况下公开这些文件。

mat*_*kie 11

Lessmsi提供了一个命令行以及交互式应用程序,用于从 .msi 中检索任何属性。

以交互方式打开 .msi,然后转到表视图并选择或键入“属性”。然而,虽然这给出了属性名称,但它没有给出所述属性的有效值。(或者我还没有找到合适的位置。)

将属性表列出到控制台的命令行(令人沮丧的是,无法通过简单的> output.csv重定向捕获)

lessmsi l -t Property ...\path\to\setup.msi
Run Code Online (Sandbox Code Playgroud)


小智 1

鉴于 MSI 文件将公共属性存储在内部数据库中,您实际上可以使用 VBScript 和 SQL 查询它们。

下面是一个示例脚本,它将返回 MSI 文件中存储的所有属性。按照惯例,使用大写字母来定义公共属性,因此通常可以通过这种方式来识别它们。