如何安全地从 %SystemDrive%\Windows\Installer 中删除内容?

如何安全地从 %SystemDrive%\Windows\Installer 中删除内容?

可能重复:
从 C:\Windows\Installer 删除是否安全?

不重复:
上面提到的链接谈论的是 Windows XP。我说的是 Windows 7。文件夹的行为可能在两个窗口之间发生了变化,我想得到有关此 Windows 系统而不是 Windows XP 系统的答案。

如何安全地删除、缩小或从 %SystemDrive%\Windows\Installer 文件夹中删除?

不要告诉我去http://support.microsoft.com/kb/290301/en-us由于以下原因,它不再有效:

虽然 Windows Installer Cleanup 实用程序解决了一些安装问题,但有时会损坏计算机上安装的其他组件

我不想将它移到另一个地方,而是想从那里移除东西。

我很高兴能有一个可以做到这一点的工具,但也很高兴能够了解文件存在在那里的逻辑。

请在您的回答中参考Windows 7(64位)。

谢谢

答案1

如果您的系统驱动器由于某种原因(分区、SSD 等)较小,另一个选择是将 C:\Windows\Installer 移动到另一个更大的驱动器,并用新位置的连接点替换原始驱动器。

一切都应该继续工作,但您的系统分区将有更多的可用空间。

答案2

是的,缩小该文件夹是安全的,我已经这样做了很长时间,没有任何问题。:-)

至于删除文件夹,可以然而这不允许修改/修复/删除软件!

答案3

这些文件存在的逻辑是:您安装的软件包可能需要安装程序本身,如今有许多安装程序和版本。即使只是版本更改,安装程序的向后兼容性也不如预期。事实上,您可以安装一个软件包,然后安装另一个更新安装程序的软件包,更新后的安装程序将不再删除第一个安装 :-) 困惑了吗?

当您想要卸载(或修复或重新定制)安装时,安装程​​序本身需要重新运行,安装程序的整个程序必须存在,以及要安装的软件包。

幸运的是,情况变得更糟了,因为之前还不够愚蠢。有些软件包会安装安装程序,而有些软件包会安装带有安装程序的软件包。然后安装程序会运行另一个安装程序,比如 MSI 自己的安装程序。当然,这不包括将安装程序重新打包成交叉安装程序,以安装一些像工具栏这样的邪恶东西。

老实说,情况也会比这更糟糕,比如安装整个操作系统子系统,因为编程子系统对于他们用来创建程序的编程方法是必需的。

所以现在你有了安装程序,以及所有的安装文件,安装包及其所有文件,系统还原(即安装删除及其所有文件),驱动程序备份以及所有这些再次重复,系统备份(即所有文件),另外许多程序也会把所有的安装文件放在它们自己的文件夹中。

我们唯一缺少的就是稳定性:-) 我们只是一层又一层疯狂地尝试自我修复。

删除“安装程序”(安装程序)意味着无法卸载已安装的程序,更糟糕的是,如果无法卸载程序(使用原始部分),则某些程序将无法安装升级。注册表中还存在“已安装”触发器(各种类型),必须将其关闭才能重新安装(或重叠安装)。此外,还有其他注册表项可以影响上述所有内容。

删除“安装”(安装包)将意味着无法卸载该程序,即使安装程序存在,因为安装需要安装包。(再次加上注册表项)

此外,拥有所有这些并不能保证所有内容都会被卸载,或者程序甚至能够使用安装包自行修复。

这就是为什么我觉得有必要运行另一个卸载程序 :-) 它可以跟踪所有更改,并可以将其全部删除。如果不跟踪整个安装(包括首次运行),删除它的部分和片段将意味着它将无法轻松删除。如果不完全跟踪安装,删除大量部分和片段、保护层和重复中的任何一个都无法轻松完成。因为实际上不会完全删除,这通常会让用户从头开始重新安装整个操作系统以清理它。

有时您可以重新安装原始的整个安装(重叠安装)以替换您删除的所有项目(+所有上述混乱),然后安装和卸载本身将再次运行。但通常这还需要重置可能导致安装失败的任何项目(通常在注册表中)。

安全删除剩余垃圾的方法是进行完整的映像备份,并且除了完整映像备份(撤回)之外,无意删除、修复或更新这些程序。

或者

完全跟踪安装,并使用完整映像备份。这样,您跟踪的安装可用于删除它,而无需所有那些东西。(这并非没有后果)您的完整映像备份始终可以将系统恢复到原来的位置(根据需要恢复到之前或之后)。
我发现这种方法比在永远不会成为滚石的东西上长一层又一层的青苔更有效 :-) 但需要知道您在做什么。

这篇文章充分说明了为什么最佳方法没有被讨论或采用,有些事情你永远不应该看到。:-)

答案4

在 Windows 7 中,您可以使用以下命令使 SP 升级永久化,从而使文件夹变得更小(虽然没有准确回答我的问题,但是确实可以减小大小):

dism.exe /Online /Cleanup-Image /spsuperseded

在 Windows Vista 中,可以通过使用以下命令实现:

vsp1cln.exe

相关内容