如何在不终止Windows的情况下从Windows安装程序文件夹中释放驱动器空间?


387

在我的SSD机器上,该C:\Windows\Installer文件夹很大,占用了我总磁盘空间的15%。

有没有一种方法可以清除该文件夹而不杀死Windows 8.1 / 10?将安装程序隐藏在OS分区上似乎很浪费。


2
我在Windows 8中遇到问题,临时解决方案是升级到8.1(我有20+ G的空闲空间!)。但是随着8.1的不间断修补,问题再次蔓延开来……从XP开始,这是Windows的烦人问题。
Fuhrmanator 2014年

实际上,这些不是该文件夹中的Windows安装程序。Windows基本上是运行不同程序和代码版本所需的全部内容。
HopelessN00b 2014年

2
你在跟我开玩笑吗?在我的计算机上,仅此文件夹就占用了分配给启动卷的磁盘空间(20 GB / 80GB)的25%以上。赢得2008 R2。
杰伊·伊曼

3
你快乐的家伙!在我的系统上,Installer目录占据了95 GB HDD的50%。微软在这里的行为不像世界上最大的软件公司!
阿尔·邦迪

2
快到2018年了,我们现在有了Windows 10,它可以从磁盘上获得46 GB的磁盘空间:/有些事情永远不会改变。
mcy

Answers:


213

这似乎对我有用。这是来自http://www.kavoir.com/2012/07/how-to-free-up-c-drive-disk-space-in-windows-7-easy.html的一组简化说明

  • 确保您的机器上没有安装任何安装(可能有正式的方法可以执行此操作,但我不确定如何执行)。
  • 使用Windows资源管理器C:\ Windows \ Installer复制到另一个磁盘,例如D:\ C_DRIVE \ Windows \ Installer-注意:Windows \ Installer是系统文件夹,因此在Windows 8.1中不可见。您必须调整帐户以使其可见,才能使用资源管理器制作副本。Google会帮助您了解操作方法。
  • 制作C:\ Windows \ Installer的备份副本
  • 在以管理员身份运行的cmd.exe窗口中键入以下命令:

    rmdir /s /q C:\Windows\Installer
    mklink /D C:\Windows\Installer D:\C_DRIVE\Windows\Installer
    
    • Windows可能不允许您删除安装程序目录,因为某些进程正在使用此目录中的某些文件:

      C:\Windows\Installer\{some files}.msi - The process cannot access the file because it is being used by another process.
      

      在这种情况下,您可以使用此链接并使用Process Explorer查找并停止限制rmdir命令的进程。

验证

作为验证,我对Microsoft Visio Professional 2013安装进行了“修复”(需要4分钟来处理)。这成功完成了。进行上述更改后,Windows更新(带有重新启动)也成功运行。如果有任何问题,我会写回。


5
如果先将“ C:\ Windows \ Installer”移动到“ D:\ C_DRIVE \ Windows \ Installer”,然后运行mklink,会不会更好?
Mladen B.

2
@MladenB。使用move(而不是copy递归rmdir)似乎更好。我引用的原始说明提到删除文件可能很复杂,因为您可能必须拥有所有权。在Windows中,我以前必须这样做,当有很多文件时,这很烦人。在这种情况下,副本将在第一次成功完成,然后您只需进行rmdir工作即可。因为C:\Windows\Installer它可能没有什么区别,但是引用的文章谈到了可以重新放置到单独驱动器上的其他目录。
Fuhrmanator

3
建议至少压缩C:\WINDOWS\Installer\$PatchCache$或完整C:\WINDOWS\Installer文件夹。简单的步骤可以节省磁盘上的大量空间。内部存在许多不使用cab的.msp文件。这样的.msp文件可以很好地压缩,并且可以免费获得一些磁盘空间。我在我的SSD(笔记本电脑上唯一的磁盘)上的C:\WINDOWS\Installer文件夹中有52GB,经过简单压缩后,它只有41GB。
奥莱格2015年

1
此处讨论了一种有趣的方法:blogs.msdn.com/b/heaths/archive/2014/02/11/…请参阅其他替代方法的注释,包括功能强大的脚本。
导演2015年

6
@Fuhrmanator在Windows 7中,之后我必须保存并还原原始权限。移动之前:移动icacls C:\WindowsInstaller /save Installer.acl 之后icacls D:\C_DRIVE\Windows\Installer /restore Installer.acl。否则安装程序将无法访问该目录并报告错误1632
trapicki

204

我创建了“ PatchCleaner”,只需单击一下即可清理所有孤立文件的Windows安装程序目录。如果您不信任该应用程序执行正确的操作,请使用移动功能将其放置在安全的地方,以防将来需要它们。我已经在多台机器上运行它,并节省了多达15Gb的空间:-)

Windows更新后运行PatchCleaner以查找新的孤立文件。

为了安全起见,我建议您使用“移动”操作,并将孤立的补丁移动到外部存储中

PatchCleaner @ HomeDev

已知问题(网站上的完整详细信息)

  • 运行PatchCleaner后,Adobe Reader可能无法更新。

注意:自@ Feb-2016版本1.4.1.0发布以来,该版本已修复了一个问题,该问题允许自定义过滤器排除Adobe Reader的错误检测。


2
魔法 :-)。Windows实际上保​​留了所需的已知补丁程序列表,可以通过WMI调用对其进行访问。我将此已知列表与c:\ windows \ installer目录中的实际列表进行比较,并且不再需要列表中未包含的文件夹中的任何内容。我已经成功运行了几天前最新的Windows更新更新,它们都已成功安装。如果patchcleaner做错了什么,您将得到错误。我建议您使用move动作,直到您对程序执行正确的操作感到满意为止。
jcrawfor74

13
很棒的工具,真的很喜欢它,可以无缝运行:)
Alex Popov

9
您认为可以创建此工具的便携式版本吗?
RedX 2015年

2
@ jcrawfor74您是否打算清除使用新WIX工具创建的MSI / MSP文件存储文件夹C:\ ProgramData \ Package Cache?
magicandre1981'2

4
恢复了30.44 GB。谢谢你的工具!如果它是自由软件,那就太好了;这本来可以缓解信任问题;)
user30747 '17

80

您可以压缩文件夹。您将重新获得10%到20%的空间。

  1. 在资源管理器选项中启用“显示系统文件”
  2. 右键单击安装程序文件夹
  3. 物产
  4. 点击高级
  5. 在新对话框中,选择“压缩”
  6. 点击确定
  7. 申请所有文件和文件夹

7
绝对安全的最佳方法。它使我的文件夹从12gb减少了2gb
JqueryToAddNumbers

4
要查看C:\ Windows \ Installer文件夹,请取消选中文件夹选项中的“隐藏受保护的操作系统文件”选项。
Mian Asbat Ahmad 2015年

5
或直接浏览到它,然后在空白处单击鼠标右键。
bastijn

我发现此答案非常有用:启用压缩后,我的“安装程序”文件夹从46.5GB缩小到38.9GB(压缩过程大约花费了1个小时)
Andrea

13
那是COMPACT /C /S:C:\Windows\Installer
saintali '17

10

有时$ patchcache $会占用大量的“ Installer”文件夹。您可以检查“ C:\ Windows \ Installer \ $ PatchCache $”文件夹的大小(1.5年后我的磁盘大小为6GB)。

基本上可以归结为“如果您有原始安装程序,则可以将其删除”。

rmdir / q / s“ C:\ WINDOWS \ Installer \ $ PatchCache $”(当然是管理员)

阅读以下内容: 我可以删除文件夹“ C:\ WINDOWS \ Installer \ $ PatchCache $”吗?

msdn:http : //blogs.msdn.com/b/heaths/archive/2007/01/17/the-patch-cache-and-freeing-space.aspx


1
不错,我几乎完全通过物理安装程序进行安装,因此这出了我的问题5GB!谢谢x3
计时码表2015年

对我来说,这是Installer目录中37GB中的32GB。好指针。
艾里克·约翰逊

7

我已经从几个用户那里读到这行不通:bitsum.com/junctionmaster.php#comment-1127491034 “问题是,msiexec(显然)忽略了联结,并手动创建了C:\ Windows \ Installer。此1)删除了2)完全删除目标目录的内容。”
Fuhrmanator 2014年


在我以前的笔记本电脑上,我有一个较小的SSD和较大的HDD。我将其全部移动到HDD并创建了一个链接。工作完美。(Win10 64bit)
Deroby

2

如何安全地(*)清除Windows 10上的磁盘空间(**)

(*)一般认为以下步骤是安全的,但我不提供铸铁保证,因此请您自担风险。

(**)这些说明是针对Windows 10编写的,但类似的说明也可能适用于其他版本的Windows。

  1. 运行PatchCleaner删除孤立的文件。
  2. 运行磁盘清理(例如,通过在Windows开始屏幕中键入“清理”,然后选择“通过删除不必要的文件来释放磁盘空间”)。选择要清洗的驱动器。单击“清理系统文件”(并在需要时输入凭据)。选择要清洗的驱动器。选择清除系统文件的选项。
  3. 打开配置管理器属性(例如,通过在Windows开始屏幕中键入“ config”并选择“配置管理器”)。选择“高速缓存”选项卡。单击“配置设置”(并根据需要输入凭据)。单击“删除文件...”,勾选“删除持久性缓存内容”复选框,然后单击“是”。
  4. 下载并安装Treesize Free。运行它,扫描相关的驱动器,然后手动删除可以删除的任何较大的文件夹或文件(请采取必要的警告)。
  5. 打开文件资源管理器,然后导航到Windows临时文件夹(例如C:\Windows\Temp)。选择所有文件和文件夹,然后通过按SHIFT+ 选择硬删除它们DEL(可能需要输入管理员凭据)。然后选择跳过所有由于正在使用而无法删除的文件。

1

您可以尝试通过将文件复制到新驱动器,然后临时重命名旧的安装程序文件夹,从默认文件夹到新文件夹创建联结来尝试联结。然后在删除重命名的安装程序文件夹之前先进行一些测试。也许安装一个更大,更复杂的程序,例如Visual Studio或Adobe Photoshop,然后将其卸载以确保一切正常。但是请注意,如果出现任何问题,则可能无法安装或重新安装程序。去过也做过。:)



@ivan_pozdeev结点不同于硬链接。我使用了一个名为junction.exe的小程序,使它可以从docs.microsoft.com/zh-cn/sysinternals/downloads/junction
Damon

引用对链接的评论:警告!这在XP中不起作用。我曾经尝试创建C:\Windows\Installer一个交汇点,然后msiexec将其断开并重新创建该文件夹。
ivan_pozdeev

是的,我是专门针对路口。XP不支持符号链接。(链接上的解决方案是关于符号链接,而不是硬链接。)
ivan_pozdeev

1
@ivan_pozdeev我必须承认,我的记忆现在很模糊,所以我一定会相信你的!我似乎还记得最初是在XP上执行此操作的,它可以工作很长时间(年)。但是我首先相信你!
达蒙(Damon)

1

最好的解决方案是使用Windows Installer清理实用工具。

https://technet.microsoft.com/zh-CN/library/2008.08.utilityspotlight.aspx


8
欢迎来到SU,并感谢您的贡献。抬起头来,SU收到了大量垃圾邮件,并且通常读起来像您的答案。考虑到您在SO方面的历史记录,这不是您的垃圾邮件发送者,这是一个安全的押注,但是仅链接产品推荐会引起人们的反对,并且通常会被删除。很好的指导这里的推荐软件。
fixer1234

推荐软件时请小心。按照书面规定,您的答案可能被视为垃圾邮件。您的答案应包括对该软件的描述以及它如何解决该问题。详细信息:如何在答案中推荐软件?
bwDraco

2
感谢@ fixer1234 @ DragonLord下次我将练习推荐的技巧。
hatranpro

4
@hatranpro我想建议通过编辑解决该问题的建议技巧。现在。
桑德洛克(SandRock)2016年

4
该实用程序不执行OP要求的操作。它不会通过删除未使用的文件来“释放Windows Installer文件夹中的空间”。而是删除已使用的文件和注册表元数据。在technet.microsoft.com/zh-cn/library/…上阅读其说明。
ivan_pozdeev
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.