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