存在的文件的逻辑是:您安装的软件包本身可能需要安装程序,现在有许多安装程序及其版本。即使只是版本更改,安装程序也不像它们应该的那样可以向后兼容。实际上你可以安装一个软件包,然后安装另一个软件包更新安装程序,更新的安装程序将不再删除第一个安装:-) confused?
当您希望卸载(或修复或重新定制)安装时,安装程序本身需要重新运行,安装程序的整个程序必须存在,以及要安装的软件包。
幸运的是,它变得更糟,因为它之前并不愚蠢。有些软件包可以安装安装程序,它们使用安装程序安装软件包。然后安装程序将运行另一个安装程序,比如MSI自己的安装程序。这当然不包括何时将安装程序重新打包到交错安装程序中,以安装一些像toobar这样的邪恶大便。
老实说它也比这更糟糕,比如安装整个OS子系统,因为编程子系统对于他们用来创建程序的编程方法来说是必需的。
所以现在你有安装程序,以及所有安装文件,安装包及其所有文件,系统还原,即安装程序删除及其所有文件,驱动程序备份以及所有这些重复,系统备份是所有文件,加上许多程序也将所有安装文件放在自己的文件夹中。
我们唯一没有的就是稳定性:-)我们只是在自我修复方面有各种各样的疯狂尝试。
删除“安装程序”(安装程序)将意味着无法卸载已安装的程序,如果程序无法卸载(使用原始部件),则更糟糕的是不会安装升级程序。注册表中存在“已安装”触发器(各种类型),必须关闭才能重新安装(或重新安装)。加上其他可以影响上述所有内容的注册表项。
删除“安装”(安装包)将意味着即使安装程序存在,也无法卸载程序,因为安装需要安装包。(再加上注册表项)
此外,所有这些并不能保证一切都会被卸载,或者程序甚至可以使用安装包修复自己。
这就是为什么我觉得需要运行另一个卸载程序的原因:-)它可以跟踪所有变化的内容,并且可以将它全部抛弃。如果没有跟踪完整安装(包括首次运行),移除部件和部件将意味着它不会被轻易移除。如果没有完全跟踪安装,则无法轻松地移除任何大量零件和部件,以及保护层和重复。由于实际上不会发生完全删除,因此通常会让用户从头开始重新安装整个friggen操作系统以进行清理。
有时您可以重新安装原始的整个安装(重叠安装)来替换您删除的所有项目(+以上所有混乱),然后安装和卸载本身将再次运行。但通常这也需要重置任何可能导致安装失败的项目(通常在注册表中)。
安全删除剩余垃圾的方法是进行完整的映像备份,除了完整映像备份(撤消)之外,无意删除或修复或更新这些程序。
要么
要完全跟踪安装,并使用完整映像备份。这样你的跟踪安装可以用来删除它,没有所有的东西。(这不是没有分支)您的完整图像备份总是可以将系统缩回到原来的位置(根据需要在之前或之后)。
我发现这种方法比生长在永远不会是滚石的苔藓层上更有效:-)但是有一些要求知道你在做什么。
这篇文章充分说明了为什么没有讨论或采用Best方法,只有一些东西,你永远不应该看到。:-)