当我从控制面板卸载程序时,它如何知道机器上安装了哪些组件和功能?如果我有该.msi
文件,我可以使用 ORCA 查看 Windows 安装程序数据库并查看包中的所有操作和组件。但是如果用户删除.msi
了文件,那么 Windows 安装程序如何知道已安装的功能?
问问题
2352 次
1 回答
3
在安装过程中,MSI 的副本(较小,因为它已被剥离媒体)使用短哈希文件名缓存在 C:\Windows\Installer 目录中。(例如:a60a04.msi)此外,当标准操作 PublishComponents、PublishFeatures 和 PublishProduct 在安装过程中运行时,一堆元数据会写入 HKEY_CLASSES_ROOT\Installer(实际上是 HKLM 或 HKCU,具体取决于 ALLUSERS 属性)。Windows 安装程序使用所有这些信息来了解已安装的产品,并了解如何执行修复、恢复、维护(添加/删除功能)和卸载。MSI API 也使用它在请求时提供信息。
于 2013-05-13T12:17:20.437 回答