0

是否可以使用Microsoft.Deployment.WindowsInstallerMicrosoft.Deployment.WindowsInstaller.Package dll以编程方式(C#)获取 MSI 包中包含的文件的哈希和?

我正在使用这种方法获取文件:如何在 C# 中解析 MSI 路径?

而不是将文件提取到 FS 上,我想使用 C# 代码获取文件的哈希值。

是否可以?

4

1 回答 1

3

Windows 安装程序包含MsiFileHash 表。它在构建时使用 File 表中所有文件的 128 位哈希填充。InstallPackage Files 属性带回 InstallPathMap 对象的字典。此集合的键具有来自 File 表的 File 键,可用于查询 MsiFileHash 以获取散列。

如果您需要计算已安装文件的哈希值以与此存储的哈希值进行比较,Microsoft.Deployment.WindowsInstaller 中的 Installer 类具有 GetFileHash 方法,该方法对基础MsiGetFileHash 函数进行分类。

于 2013-07-17T19:01:53.410 回答