我一直在XP机器上查看正在使用所有磁盘空间的计算机,结果发现C:\ Windows \ Installer在使用磁盘空间最多的目录列表中位于较高位置。

它似乎包含msi和msp文件的缓存。

删除这些文件是否安全?为了节省磁盘空间,我删除了“ $ KB ... $”目录已有很长时间了,没有任何问题。我希望在系统中安装Windows更新,为什么我要卸载它们却是我从未了解的事情。 (除非您专业地在更新修订板上或处于此顺序之列。)

评论

如果使用NTFS压缩它(现在应该如此)

如果Windows Update破坏了系统,则卸载它们很有用。

@Caltor,如果它们破坏了您的系统,则说明它们已经失败了。如果卸载Windows更新会破坏我们的系统怎么办?如果卸载失败,Windows是否应该添加另一种机制来撤消卸载?

最近,我再次遇到了这个问题:blog.seattlepi.com/microsoft/2008/06/24/…而且它也存在:事后看来,Windows Update应该得到单独的处理,不要将它们包含在已安装的软件包中。

@Pacerier我想你是在讽刺。仅仅因为某种事物发生故障并不意味着我们完全放弃了它,否则我们可能会放弃几乎所有已发明的安全设备。我有一个非常真实的场景,其中Windows更新破坏了我的一些VBA ADO代码,并且在我重写代码时卸载Windows更新是解决方法。附言撤消卸载的机制是Windows系统还原。

#1 楼

不,这不对。 Windows Installer使用它来缓存使用Windows Installer在计算机上安装的任何内容的安装文件。至少,您可能会失去添加或删除程序的能力,最坏的情况是,您可能失去运行某些程序的能力。

由于Windows Update也可以部署Windows Installer修补程序,因此您也可以阻止您的计算机接收Windows和Office更新。

评论


杰森说得很对。某些应用程序通过显示功能和图标来“发布”功能,但是直到您第一次使用该功能时,它们才真正安装。删除安装程序将使此类应用程序无法使用。不要这样

–杜高拱门
09年8月17日在3:48

很久没见到其中的一个了...

– RCIX
09年8月19日在2:13

他主要关心的是释放磁盘空间,因此,是/否回答在此没有太大帮助。

–deddebme
09年8月22日在16:28

@RCIX:您使用Office吗? Office使用公告的快捷方式。如果右键单击快捷方式并显示属性,然后尝试查看目标,则该目标将显示为灰色。那是一个广告捷径。

–杰森
09年8月23日在21:14

@deddebme:这不是一个是/不是的事情,我说这样做是不对的,并列出了这样做可能会破坏的范围。

–杰森
09年8月23日在21:17

#2 楼

当您尝试卸载程序时,您很可能需要安装程序文件夹的内容(例如,Microsoft Office在尝试删除它时会抱怨一些随机命名的.msi / .mcp文件)。

但是如果有磁盘空间与您有关,请通过NTFS压缩安装程序文件夹!我在ASUS Eeepc901上网本中这样做,因为它只有可怕的4G主分区。

右键单击文件夹“安装程序”->“属性”->“高级”->“压缩内容以节省磁盘空间” 。”->“确定”->“确定”。

您会为它节省的空间感到惊讶。

评论


+1用于压缩安装程序文件夹。 5.07 GB至3.44 GB!

– Leftium
2011-10-18 23:14

您如何单击安装程序文件夹?这是一个隐藏的系统文件,我无法在资源管理器中显示它。我只能使用命令行“ Compact”命令。

– Slaggg
2012年3月3日在20:08

通过开始>运行>“ c:\ windows \ installer”打开文件夹,然后右键单击空白区域(与文件夹本身相同)。

–Patrick Szalapski
2014-12-8 15:05



@Slaggg只需启用隐藏文件即可在资源管理器中看到。它还允许您在USB驱动器上发现病毒。

–TomášZato-恢复莫妮卡
2015年11月5日在15:07

#3 楼

正如其他人所说,从该目录结构中删除文件有明确的禁忌。我也建议不要这样做。

但是,如果您决心继续进行操作,则可以使用Windows Installer清理实用工具来更正确地进行操作。这将比仅删除文件更好地进行清理。但是,该工具通常用于删除已损坏的安装文件,从而阻止您以正常方式卸载某些文件。

Windows Installer清理实用工具实际上使用MSIZAP.EXE命令行实用工具来执行工作。

评论


我认为压缩该文件夹比删除其内容更安全。

–deddebme
09年8月22日在5:44

同意,建议我做的第一件事是不要删除。但是因为问题是关于删除的安全性,所以指出这样做的最安全方法是有意义的,即使这不是一个好习惯。

– Gregyski
09年8月22日在17:34

#4 楼

建立交界处! [1] [2]


以管理员身份启动命令提示符。 [3]


获得安装程序目录及其所有文件的所有权:

takeown /f "C:\Windows\Installer"
takeown /f "C:\Windows\Installer\*"


C:\Windows\Installer移至新的宽敞驱动器,假设E:。为了方便起见,最好创建一个子文件夹以将所有将来的路口收集在一个地方,例如E:\Win7-Junctions,因此新路径将为E:\Win7-Junctions\Installer。从Windows资源管理器中进行剪切粘贴应该足以移动安装程序文件夹。
确保C:\Windows\Installer确实消失了,并且所有文件都已移至E:\Win7-Junctions\Installer

创建连接:

mklink /j "C:\Windows\Installer" "E:\Win7-Junctions\Installer"


语法是:

mklink /j [destination] [source]


通过在E:\Win7-Junctions\Installer中创建一个小的文本文件来验证联结是否有效也可以在C:\Windows\Installer中看到它。
完成。在“添加或删除程序”中检查安装程序是否仍在工作(Office是一个很好的选择)。

请注意,如此Microsoft回答所述:


绝不建议将操作系统核心组件和文件移动到操作系统驱动器以外的驱动器上。因为它们会导致操作系统文件不稳定。

冒着风险运行此命令,Microsoft无法保证由此解决的任何问题。


鉴于磁盘空间始终为0个字节确实确实导致操作系统(及其用户)不稳定,并且Microsoft无法保证以合理的方式完全解决了他们创建的任何普通问题,因此我继续执行此过程直到现在都没有发现明显的缺点。

评论


我已经在几台旧的Windows 2003服务器上做到了这一点,没有任何问题。

–大卫
15年12月31日在1:10

我必须强烈建议不要这样做。如果Windows(由更新或其他原因引起的)决定还原目录,则可能会受到干扰,您必须重新安装Windows。至少它不会彻底杀死Windows。

–丹尼尔B
15年12月31日在1:54

@DanielB:您是否有证据表明Windows更新应该打扰检查C:\ Windows \ Installer是否为联结,然后无故擦除其全部内容并创建空白目录,或者通常只是担心缺少该目录Windows操作系统内部发生的过程的透明性和“常识”,使人们认为“嘿,它可以在任何地方发生,如果我不搞混(很多)晦涩的组件,更不用说小问题了,那就更好了”?

– Avio
15年12月31日在12:56

否。我曾经使用联结将Visual Studio移至另一个分区。然后,更新以某种方式删除了该联结,并在其位置放置了一个(不完整的)目录。然后,我不得不重新安装Windows,因为无法修复。顺便说一句,VS安装程序是MSI安装程序。

–丹尼尔B
2015年12月31日14:41

#5 楼

不,删除整个目录是不安全的。

,但是有一些方法可以通过运行WICleanup删除未使用的.msp文件。

#6 楼

如果删除此文件夹,则稍后尝试修复,卸载,升级,重新安装等操作时,将会遇到问题。

MSI安装程序的工作方式是,每当必须回滚修补程序时,它们都会自行运行。

将来的Windows Update可能需要此文件夹的内容。

MSI安装程序是魔鬼:()不要与它们玩弄。

评论


我不认为Windows Updates会碰到该文件夹​​(或根本不指向该文件夹)的Installer文件夹,因为Windows Update通常将卸载信息保存在“ $ KB ... $”目录中,当我看到它们时,我总是将其删除。

–deddebme
09年8月22日在5:47

某些Windows更新基于MSI。

– AaronLS
09年8月24日在19:39

#7 楼

正如其他答案所述,完全删除Windows Installer文件夹并不安全。
但是这里有一些流行的实用解决方案,可以安全地移动或缩小它:

如何释放驱动器空间

我个人使用PatchCleaner从Windows安装程序文件夹中删除Windows软件包吗?

我个人使用PatchCleaner帮助我通过移动孤立的软件包(主要是M $ Office 2016更新)将Windows\Installer大小从23 Gb减小到3 Gb。 >

评论


您确实应该将其标记为重复,如果您相信该问题的答案,请实际回答作者的问题。

–猎犬
20-04-21在20:23

@Ramhound,这两个问题在规定的目标上有所不同,将它们链接为完全相同的重复项。上面的评论过于拥挤,无法提供引人注目的链接,而这可能会帮助许多寻求像我这样的解决方案的访问者。因此,我不得不给出一个单独的答案,希望它能引起更多的注意。我也对其进行了编辑,以提供更多帮助。

–Vadzim
20-4-21在20:33



#8 楼


当系统磁盘上的磁盘空间用尽时,可能是服务器或客户端上,有一些东西需要清理。其中之一是%SYSTEMDRIVE%\ Windows \ Installer文件夹。在任何情况下,您都不能手动从此文件夹中删除文件,因为这不仅可能而且很可能会破坏使用MSI文件或Windows Installer文件安装的软件。
%SYSTEMDRIVE%\ Windows \ Installer文件夹是缓存安装文件和补丁(MSP文件)并删除它们将导致您无法修复或卸载应用程序,并且在某些情况下,您将无法删除补丁或将新补丁应用于软件。如果确实确实删除了此缓存,则可以通过从原始安装媒体,补丁程序包等中提取文件来手动重建所需的文件,但这是一项耗时且不容易完成的任务。

Windows Expert ITPRO MVP MVP Andreas Stenhall
参考:http://www.theexperienceblog.com/2009/05/16/how-to-clean-out-windowsinstaller-folder-正确//
您可以尝试使用此MS Fix It实用工具进行一些安全的修复:
自动诊断和修复程序安装和卸载问题

#9 楼

您总是使用CCleaner之类的程序来清理系统。

我刚刚收回了一定数量的磁盘空间!

评论


这是事实,但无关紧要。

–TomášZato-恢复莫妮卡
2015年11月5日15:11