我观察到几台笔记本电脑出现了奇怪的行为。它们都通过 GPO 部署从网络共享中以 MSI 包的形式安装了应用程序。但是当此网络共享无法访问时,应用程序无法卸载或升级,并抱怨缺少源。
据我所知,Windows 安装程序将安装程序缓存在c:\windows\installer
文件夹中以应对这种情况,这样即使原始安装程序消失,应用程序也可以被卸载。
在什么情况下以及何时安装程序可以自动从安装程序缓存中删除?是否有任何设置可以阻止安装程序被缓存?
答案1
看:
在 C:\windows\installer 中找到的缓存并不是完整缓存。它是一个最小的 MSI,已删除其嵌入的 cab 文件(如果它是压缩版本)。
还有第二种缓存机制,即如果未找到缓存的 MSI 或缓存的 MSI 没有存储空间 (Cabs),则它将使用源列表解析过程。通常,这是安装 MSI 的位置。或者由 setup.exe 将 MSI 提取到 (缓存) 的位置。此外,如果您有 Microsoft Systems Center Configuration Manager 之类的工具,它还具有缓存包并调用 MSI API 来通知服务位置的机制。
您总是希望将 MSI 缓存在 c:\windows\installer 中,并且没有启用或禁用此功能的机制。