我可以删除MSOCache吗?


Answers:


62

简短的回答:。您很可能将无法执行维修或安装其他组件。
我自己在运行Windows 7和Office 2007的虚拟机上进行了尝试,我想它会对Office 2010产生相同的影响。

一个更安全的选择(如此处建议)是将文件夹本身刻录到DVD或将其移动到USB驱动器,然后在Windows注册表中更改对该文件夹的所有引用。

从该页面:

解决方案,我最近做了什么:

  1. 将整个文件夹刻录到CD-R或DVD(该文件夹的文件大小取决于您的Office版本)。
  2. 删除该文件夹。
  3. 在RegEdit中的注册表中搜索C:\ MSOCache,并更改所有引用以指向您的CD / DVD驱动器,例如:E:\ MSOCache(当与Office相关的某些东西需要那些缓存文件时,当然会需要光盘。)

2
有点

1
我终于尝试了,似乎可行。
德雷克2010年

1
找到并替换所有出现的C:\ MSOCache ...大约花了10分钟的时间
Dean Kuga

2
您是否有任何特定原因不能简单地将此文件夹存储在单独的驱动器上(假设Drake具有更大的存储驱动器),然后创建目录连接,以便C:\ MSOCache引用另一个驱动器?然后,您不必编辑注册表。
stylez

@stylez:不,但我不建议连接外部驱动器。
OktosiTe

51

要走的路是结点。

例如,如果您将120 GB SSD驱动器作为C:,将3TB驱动器(磁性)HDD作为D:

  • 在驱动器上D:创建名为C
  • 将文件夹剪切并粘贴MSOCacheC驱动器上的子文件夹D:
  • CMD
  • 类型: CD \
  • 类型: MKLINK /J MSOCache D:\C\MSOCache
  • 类型: EXIT

之后,您将MSOCache在路径中拥有文件夹的全部内容C:\MSOCache,但实际上文件将位于上D:\C\MSOCache


那就是MSOCache关于C驱动器上文件夹的答案。现在让我们谈论一个真正的问题,这是我几个小时前遇到的问题。

SSD磁盘上的C:驱动器空间不足

这里的主要问题是Windows Installer,以及它们糟糕的系统,用于缓存所有旧的安装文件。PC Windows Installer上曾经存在的某些软件的每个旧版本都保留在其缓存文件夹中。愚蠢的事情,您不认为吗(仅因为有人可能会卸载某些应用程序,Windows Installer会保留所有文件,以便可以回滚到以前的状态-简化版-相信我要复杂得多,但是请原样接受)。

如果微软再也没有所谓的Windows Updates愚蠢了,那将不会有太大的问题。这只会让您充斥更新。还有哪些更新!?没有人!?更新==安装==更大和更大的Windows安装缓存。

我的情况是我已经安装了基本的基本开发PC,而Office + VS2005,VS2008,VS2010最少,这是我必须具备的。我在XP计算机的主磁盘上拥有120 GB的磁盘,并且已经安装了所有更新(〜100GB),有足够的驱动器空间。但是Windows 7 == 30 GB的可用空间(想像一下我的脸)。我知道Windows 7稍大一些,但不大70GB。

...现在2小时后,我又回到了70 GB;)你怎么问我!

只需对以下文件夹执行与上述相同的操作:

  • C:\Windows\Installer\
  • C:\Windows\SoftwareDistribution\

命令非常相似:

  • 将上方的文件夹移至(例如) D:\C\WINDOWS
  • CMD以管理员身份运行
  • 类型: CD C:\WINDOWS
  • 类型: MKLINK /J Installer D:\C\Windows\Installer
  • 类型: MKLINK /J SoftwareDistribution D:\C\Windows\SoftwareDistribution
  • 类型: EXIT

请注意,仅在移动这些文件夹之前停止Windows Update,Trusted Installer和Windows Installer服务,然后在需要时运行它们,或者只是重新启动(10秒即可重新启动SSD)。

我已收回40GB的空间(100%无用的空间,因为我永远都不会卸载我使用的任何东西)。尚未违反任何Windows规则,因为它们用于Documents and Settings相同的Junction Point,Users尽管它们在同一驱动器上。

仍然在摸索我可以移动到(磁性)HDD驱动器的其他方法...有一件事要注意,您将winSxS在Windows文件夹中有子文件夹不要移动该文件夹,因为它会违背固态磁盘的目的(快速加载应用程序)。WinSxS是所有Side by dll都位于的文件夹(并且几乎每个应用程序都从那里使用某些东西)。如果您想知道为什么存在,这也是Microsoft针对DLL版本HELL的解决方案。


这确实是更安全的解决方案。应该将其标记为正确答案!谢了哥们!
psulek 2014年

可以使用User文件夹执行此操作,还是最好使用我的计算机上大约10GB的AppData文件夹执行此操作?顺便说一句好答案。
nemke 2015年

恩,尽管AppData已在同一驱动器上,但它已经是一个连接点。您需要找到真实文件夹C:\ Users \ <用户名> \ AppData \ Roaming并将其移动到其他驱动器。如此说来,AppData包含计算机上的软件数据,如配置,缓存,数据库和其他数据。如果将其移至其他驱动器,可能会违反固态驱动器的目的。我会尝试查找哪些子目录在AppData文件夹中使用了这么多的空间。并查看它属于什么软件,如果我不积极使用这些软件,则将其而不是整个AppData文件夹移走。
SoLaR

如果您在移动SoftwareDistribution文件夹时遇到问题,则与“ Windows Update正在运行”有关。停止服务上的Windows Update,然后尝试移动该文件夹。顺便说一句,您救了我的ssd男人,好极了...
matasoy

12

已安装本地安装源(Msocache)功能,因此在以下安装操作过程中不必插入CD:

  • 检测并修复
  • 需求安装
  • 维护模式设置
  • 安装服务包和补丁

您可以使用Windows清理向导删除Msocache文件夹。为此,请按照相关的Microsoft文章中的步骤进行操作。

警告:切勿使用Microsoft Windows资源管理器删除MSOCACHE文件夹。


我遵循了指南。它删除了我的大约100MB-200MB,但现在该文件夹中仍然有1.2 GB。
德雷克2010年

另一个解决方法是创建系统还原点(称为“安全”),完全删除文件夹的内容,以这种方式工作几天,如果遇到任何问题,请返回“安全”。
Mehper C. Palavuzlar

这篇MS文章提出了另一种解决方案。查看Q4和A4。
Mehper C. Palavuzlar,2010年

该文章指的是Microsoft Office2003。无论如何,我还是尝试下载并安装LISTool.exe,但它似乎与Microsoft Office 2010不兼容
Drake

然后,我只能建议您尝试我在第一条评论中指出的内容(系统还原)。
Mehper C. Palavuzlar,2010年

6

防止此文件夹首先放置在驱动器上的最佳方法是,在Office安装过程中选中“ 删除安装文件”复选框。

从这个线程

如果删除它,将发生以下情况:

  • MS Office的修复功能将无法再从硬盘缓存中使用-需要CD对其进行修复。
  • 需要缓存的Office Updates将无法从硬盘缓存中正常工作-将需要CD来安装它们。

解决方案,我最近做了什么:

  1. 将整个文件夹刻录到CD-R或DVD(该文件夹的文件大小取决于您的Office版本)。
  2. 删除该文件夹。
  3. 在regEdit中的注册表中搜索C:\ MSOCache,然后更改所有引用以指向您的CD / DVD驱动器,例如:E:\ MSOCache(当与Office相关的某些东西需要这些缓存文件时,当然会需要光盘。)

1
看来我们找到了相同的页面...
10年

1
@oKtosiTe:是的,也是在同一分钟。伟大的思想家有
同感

3

我想知道是否有人反对删除此文件夹,但实际上在现实生活中是否遇到任何问题。

自从2003年左右第一次看到MSOCache以来,我一直在进行Shift +删除操作,此后再也没有任何更新或使用Microsoft Office的问题。

我的回答是,可以安全删除C:\ MSOCache文件夹,以防万一,如果您有安装媒体,以后可以使用,以备不时之需。


这个答案听上去很轻率,没有考虑,但这是最好的答案之一。我已经使用office约20年了,MSOCache目录是安装后要做的第一件事。它在错误的位置,而且我从未见过它的必要性得到证明。可能发生的最坏情况是什么?需要花费几分钟的时间从没有某些缓存文件的媒体重新安装吗?阅读完此线程后,我现在将RAR归档文件夹,并将其放入备份中,以防万一,但是我从未见过仅删除它的单一后果。对于企业IT类型而言只是一个问题。
年表

2

我有一个64GB的SSD和程序加载。我定期将space肉移动到HDD。现在,许多程序将500MB-1.3GB的空间用于页面边界和各种小型图像文件之类的垃圾。

不要搞砸注册表。迟早它会在大屁股上咬你。如SoLaR的答案中所述创建一个结点。

但是-某些注意事项。

  1. 不要删除原始文件夹。用减号将其重命名,即,
    将MSOCache重命名为-MSOCache。

  2. MSOCache是​​一个异常,因为它位于根文件夹中。通常,您在子文件夹中移动某些内容。因此,您必须修改以下内容,使其显示“放入父文件夹”。

    在要移动的子文件夹的PARENT文件夹中,创建一个名为JUNCTION LIST.txt的TEXT文件,其内容如下所示。因此,如果您要移动C:\ Program Files \ Adob​​e \ Spacehog,则将“ JUNCTION LIST.txt”文件放入C:\ Program Files \ Adob​​e \

    JUNCTION LIST.txt的内容(当然,根据您的具体情况进行了修改):

    SSD Win 7
    C:\ProgramData\Adobe\CameraRaw
    
    was replaced with a junction to
    
    S:\Program_Data\Adobe\CameraRaw
    
    mklink /j CameraRaw "S:\Program_Data\Adobe\CameraRaw"
    

    (根据需要添加其他任何人。)

    JUNCTION LIST.txt应该完全记录您所做的事情。

  3. 在要移动的子文件夹的PARENT文件夹中打开命令提示符。

  4. 从DOCUMENTATION文件中复制“ mklink ...”行。这意味着突出显示并按Ctrl-C。

  5. 在提示符下粘贴命令,然后按Enter。

    如果它不起作用,请不要对命令行进行任何更正。更正DOCUMENTATION文件,然后重复复制和粘贴。

    现在,您应该拥有一个带有减号的原始文件夹名称以及一个与原始文件名的连接。

  6. 所有内容从“减号”文件夹移至接合点。

  7. 将JUNCTION LIST.txt文件夹复制到另一个驱动器上的TARGET文件夹的PARENT文件夹。想法是到处都有文档。

  8. 现在,除非你有一个“减”名称的实际文件夹,一切都应该一样的,你开始之前。

  9. 不要重命名目标文件夹。那破坏了路口。如果需要重命名目标文件夹,请删除联结,更正JUNCTION LIST.txt文件,然后创建一个新联结。



1

与以前的答案非常相似-唯一的麻烦是我移到C:\MSOCache了第二个HD,D:\MSOCache然后要做的就是regedit将所有引用从C:\MSOCache更改D:\MSOCache为,从而以一种总体上快速而轻松的方式来释放C上相当大的空间: 驾驶。


创建指向新位置的连接点是更安全的解决方案。它是完全透明的(应用程序无法识别出它不是真实目录,而是连接点),因为您无需在注册表中搜索和更改任何内容,因此它更容易使用,即使应用程序使用了硬编码路径(例如,开发人员只是忘记了从注册表中读取该路径)。
戴维·费伦茨·罗戈扬

0

是的,您可以删除MSOCache文件夹,如果在安装MS Office时选择了“从本机全部运行”选项。

安装Office,然后删除MSOCache

选中Microsoft Office下的该选项,然后检查Not Available不需要的组件。我只安装了Excel(比LibreCalc快很多),Word和PowerPoint,然后将MSOCache重命名为“ junk.MSOCache.deleteme”。我不打算安装任何其他Office组件。

到目前为止,没有问题。因为我不需要任何安全补丁(我使用的唯一Office文件是我自己的),所以没有尝试安装任何Office更新,但是如果您要更新,请先安装它们,然后再删除/重命名MSOCache。

更新:我还从Linux上的Office的Wine安装中删除了MSOCache文件夹,Excel正常工作。

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.