【问题标题】:How to identify merge modules (.msm files)?如何识别合并模块(.msm 文件)?
【发布时间】:2016-12-15 10:22:00
【问题描述】:

许多文件类型可以通过它们的幻数来识别,例如here.

我想判断一个文件是否是 Microsoft 合并模块(请参阅 here

Microsoft 合并模块(.msm 文件)是否有幻数? 如果不是,我如何以编程方式确定文件是否为合并模块? 我不想依赖文件扩展名 (.msm)。

【问题讨论】:

    标签: windows-installer file-type merge-module


    【解决方案1】:

    我不确定合并模块是否有一个幻数,但如果您希望以某种方式检查通用文件并确定它是否为 .msm,也许您可​​以这样做:

    1. 看看这里的 vbscripts - https://msdn.microsoft.com/en-us/library/windows/desktop/aa372865(v=vs.85).aspx

    2. 编写自定义 vb 脚本,尝试在文件上调用 OpenDatabase() 以查看它是否是有效的安装程序数据库文件。

    3. 使用 WiRunSQL.vbs 对文件运行一些 SQL 语句,并检查它是否具有带有“ProductName”值的表“Property”。
      一个。如果是这样,它是一个 .msi
      湾。如果不是,它是一个 .msm

    【讨论】:

    • 微软功能的好提示。我需要运行什么 SQL 语句?
    • 我设法使用模块msilib在python中做到了这一点。我将在下面发布我的完整解决方案。
    • MSM是MSI、DOC、PPT、XLS等复合文件,可以尝试解析文件结构,然后搜索“MergeModule”流。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-29
    • 1970-01-01
    • 1970-01-01
    • 2015-04-21
    相关资源
    最近更新 更多