【发布时间】:2014-08-19 03:14:24
【问题描述】:
编辑:原来神秘的字符串是文件名的简单 MD5 哈希(包括扩展名和大写)。
我正在尝试通过 InstallShield 自动执行创建链式 MSI 的过程。在 GUI 中,这涉及到 Releases、添加链式包、链接到 MSI 并将文件流式传输到项目中。
我通过将项目文件分析为 XML,对幕后发生的事情进行了逆向工程。它本质上只是归结为表格编辑。我了解您可以使用 Windows Installer Automation 打开 *.ism 文件并访问数据库表 (LINK)。
然而,ISChainPackageData 表中有一个字段,我似乎无法生成或弄清楚它是如何计算的。它是标题为File 的列。它是一个 32 个字符的十六进制字符串,前面有一个下划线。我发现确定此字段的唯一属性是正在流式传输的 MSI 文件的名称。例如:
链接到名称为 Test.msi 的链式 MSI,生成 _29B31F67F21C9EE77CBF8C4C5D24ACE9。
更改名称会改变这一点。更改文件(包括将其替换为同名的空文件)不会。
我相信这是名称的某种简单哈希,但我没有猜到它。
有没有人知道他们可能在这里使用什么?
谢谢!
【问题讨论】:
标签: hash windows-installer installshield