为什么MSI需要原始.msi文件才能继续卸载?

时间:2008-10-16 13:23:10

标签: installer windows-installer uninstall msiexec

正如大多数人可能已经注意到的,当卸载MSI软件包时,Windows将要求提供原始的.msi文件。那是为什么?

我只能看到它的缺点:

  • 无法适应网络变化。
  • 无法适应本地磁盘更改。
  • 用户意外。
  • 通常要求用户离开他们的办公桌并开始讨伐,以获得正确的CD。
  • 证明装置不是独立的。
  • 促进使用msizap等不安全工具。
  • 反过来促进了“下次我只使用zip文件”的心态。

有人可以对此有所了解吗?

2 个答案:

答案 0 :(得分:29)

答案 1 :(得分:1)

保留原始msi有几个原因:

  • 卸载程序使用它来了解安装了哪些文件和注册表项,并确保它们都已清理完毕。
  • msi可能包含需要执行的特殊卸载操作的代码。
  • 无论您是否自行保存安装文件,它都允许您从“添加/删除程序”菜单执行“修复”操作。

正常的方法是Windows为您保留文件缓存,因此您不必考虑它。请参阅%WINDIR%\ Installer \文件夹。它会询问您原始msi的唯一原因是保存的文件是否有问题。这解决了您的大多数问题,尽管它确实引发了一个新问题(磁盘空间)。