【问题标题】:How can I extract .inf files from installer packages如何从安装程序包中提取 .inf 文件
【发布时间】:2026-02-22 22:10:01
【问题描述】:

我们公司有数以千计的驱动程序安装包,但没有关于文件中所有驱动程序的真正通用数据存储库。

这些包通常是.exe .msi.zip

.zip 获取我想要的信息似乎很容易(link),但是我想知道是否有合理的方法可以从给定的.exe 或 @ 中提取所有 .inf 文件987654329@文件?我注意到 Winzip 和 7zip 都可以看到包文件中的一些项目,但链接的解决方案似乎不喜欢尝试读取包。

感谢您的宝贵时间!

【问题讨论】:

  • 我可以看到读取和/或捕获 .zip 文件内容.. 但 msi 听起来您需要提取内容然后编写一个单独的程序来查找 .INI 文件和从与 .exe 相同的每个提取文件位置读取它们是我将如何执行的操作 ..here 是如何提取 msi 文件的示例*.com/questions/12489317/…
  • 您好,解压后解析文件比较容易。我坚持的是如何从 .exe 文件中提取它们(提取它们)或以某种方式读取 .exe 文件的内容。由于我们的大部分安装文件都是 .exe,因此这些对我来说是获取数据最关键的。或者您是否建议从 .exe 中获取文件的建议方法类似于从 .msi 中获取文件的方法?

标签: c#


【解决方案1】:

ZIP 存档不应该太难处理。有很多工具和 API 可用于处理 zip 文件。

MSI 文件可以通过 VBScript 使用类似 SQL 的语法以编程方式进行修改。请参阅Examples of Database Queries Using SQL and Script 以了解开始。您还可以使用 Orca,一个用于 MSI 包的数据库表编辑器。我可以从命令行运行,并可用于从存档中提取文件。详情请见其command line options

【讨论】:

  • 您好马吕斯,感谢您的回复!我会马上试试这个!
  • 缺点是我们工程组创建的大多数驱动程序包都是 .exe 类型。这些是主要目标。如果有人对从 .exe 文件中读取数据的方法有任何建议(无需执行它们),我们将不胜感激。