98

I need more space on my SSD drive and I found that MSOCache is occupying 1.3 GB. I have Microsoft Office 2010 installed.

Can I safely delete MSOCache?

2

8 Answers 8

65
+50

Short answer: no. You would most likely no longer be able to perform a repair or install additional components.
I have tried it myself on a virtual machine running Windows 7 with Office 2007–I imagine it would have the same effect on Office 2010.

A safer option (as suggested here) is to burn the folder itself to DVD or move it to a USB drive, and change all references to it in the Windows registry.

From that page:

Solution, what I did recently:

  1. Burn that whole folder to a CD-R or DVD (the filesize of that folder depends upon your Office version).
  2. Delete that folder.
  3. Search the registry in RegEdit for C:\MSOCache and change all references to point to your CD/DVD drive, example: E:\MSOCache (will of course require the disc when something Office related needs those cache files.)
7
  • 2
    Little "hacky" but should work fine
    – zzeroo
    Dec 2, 2010 at 15:52
  • 1
    I finally tried, and it seems working.
    – Drake
    Dec 9, 2010 at 8:24
  • 1
    It took about 10 minutes to find and replace all occurances of C:\MSOCache...
    – Dean Kuga
    Nov 18, 2011 at 17:31
  • 3
    Is there any particular reason you cannot simply stash this folder on a separate drive (assuming Drake has a larger storage drive), then create a directory junction so C:\MSOCache references the other drive? Then you wouldn't have to edit the registry.
    – stylez
    Apr 28, 2013 at 3:54
  • 1
    @stylez: No, but I wouldn't recommend making a junction to en external drive.
    – oKtosiTe
    May 1, 2013 at 16:18
54

Way to go would be Junction Point.

For example, if you have 120 GB SSD Drive as C:, and 3TB Drive (Magnetic) HDD as D::

  • on drive D: create sub folder named C
  • cut and paste folder MSOCache to subfolder C located on drive D:
  • run CMD
  • type: CD \
  • type: MKLINK /J MSOCache D:\C\MSOCache
  • type: EXIT

After this you will have entire content of MSOCache folder in path C:\MSOCache, but physically files would be located on D:\C\MSOCache.


That was the answer about MSOCache folder on C drive. Now let us talk about a real problem, the same one I experienced few hours ago.

NOT ENOUGH SPACE ON SSD DISK AS C: DRIVE

The main problem here is Windows Installer, and their crappy system of caching all old installation files. Every old version of some software that once existed on your PC Windows Installer keeps in his cache folder. Stupid thing, don't you think (only because someone might Uninstall some application Windows Installer keeps all files so it could roll back to the previous state - in simplified version - believe me it's much more complicated, but accept this as is).

This wouldn't be much of problem if there aren't even bigger stupidness again from Microsoft, of course, called Windows Updates. That simply floods you with updates. And what are the Updates!? Nobody!? Updates == Installations == Bigger and bigger Windows Installation Cache.

My situation was I've installed literally base development PC with minimal Office + VS2005, VS2008, VS2010 - That is I must have. I had this on XP machine primary disk with 120 GB just fine and plenty of drive space left with all updates installed (~100GB). But Windows 7 == 30 GB free space (Imagine my face when I saw that). I know windows 7 is little bigger but not 70GB bigger.

... and now 2 hours later I am back to 70 GB ;) HOW you ask me!?

Simply performed same thing as above for following folders:

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

Commands are very similar:

  • move above folders to (for example) D:\C\WINDOWS
  • run CMD elevated as an administrator
  • type: CD C:\WINDOWS
  • type: MKLINK /J Installer D:\C\Windows\Installer
  • type: MKLINK /J SoftwareDistribution D:\C\Windows\SoftwareDistribution
  • type: EXIT

Notice only to stop Windows Update, Trusted Installer, and Windows Installer services before moving those folders, run them after if you wish or simply restart (10 seconds for a reboot on SSD).

I have reclaimed back 40GB of (100% uselessly taken space, since I will never uninstall anything I use). Haven't broken any windows rules, since they use for Documents and Settings same Junction Point to Users although on same drive...

Still poking around what else I could move to (Magnetic) HDD drive... One thing to notice you will have winSxS subfolder in Windows folder DO NOT MOVE this folder as it would defy the purpose of Solid State Disk (fast loading of applications). WinSxS is a folder where all Side by Side dll's are located (and prety much every application uses something from there). This is also Microsoft's solution for DLL version HELL, if you wonder why it exists.

4
  • This is really the safer solution. It should be marked as correct answer! Thanks mate!
    – psulek
    Mar 25, 2014 at 15:12
  • Is it ok to do this with User folder, or better say with AppData folder which is around 10GB on my machine? Btw great answer.
    – nemke
    Jun 2, 2015 at 14:48
  • uh, AppData is already an Junction Point, although on same drive. What you need is to locate real folder C:\Users\<username>\AppData\Roaming and move that one to other drive. Now that being said, AppData contains software data on your computer, like configurations, caches, databases, and other data. If you move this to other drive it might defy the purpose of solid state drive. I would try to find what subdirectories use this much of space in AppData folder. And see to what software it belongs, and if I am not actively using these software I would move them, instead of entire AppData folder.
    – SoLaR
    Jan 8, 2016 at 17:46
  • If you have a problem on moving SoftwareDistribution folder, it is about "Windows Update is running". Stop Windows Update on services and than try to move that folder. By the way, you save my ssd man, brilliant...
    – matasoy
    Jul 5, 2017 at 21:44
12

The Local Install Source (Msocache) feature is installed so that you do not have to insert the CD during the following Setup operations:

  • Detect and Repair
  • Demand Install
  • Maintenance Mode Setup
  • Installation of service packs and patches

You can use the Windows Cleanup Wizard to remove the Msocache folder. To do this, follow the steps in the related Microsoft article.

Warning: Never delete the MSOCACHE folder by using Microsoft Windows Explorer.

6
  • I followed the guide. It removed my about 100MB-200MB but there are still 1.2 GB in that folder now.
    – Drake
    Nov 29, 2010 at 16:23
  • Another work around could be to create a system restore point (call it "safe"), delete the content of the folder completely, work for a few days in this wise, and go back to "safe" if you face any problems. Nov 29, 2010 at 16:27
  • This MS article suggests another solution. Check out Q4 and A4. Nov 29, 2010 at 16:31
  • that article refers to Microsoft Office 2003. I tried download and install LISTool.exe anyway, but it seems not compatible with Microsoft Office 2010
    – Drake
    Dec 1, 2010 at 8:13
  • Then I can only suggest you try what I pointed in my first comment (system restore). Dec 1, 2010 at 8:19
6

The best way to prevent this folder from being placed on your drive in the first place, is by selecting the Delete installation files check-box during the installation of Office.

From this thread :

If you delete it this is what will happen:

  • MS Office's repair function won't work from the hard disk cache anymore - will require the CD to fix it.
  • Microsoft Updates for Office that require the cache won't work from the hard disk cache anymore - will require the CD to install them.

Solution, what I did recently:

  1. Burn that whole folder to a CD-R or DVD (the filesize of that folder depends upon your Office version).
  2. Delete that folder.
  3. Search the registry in regEdit for C:\MSOCache and change all references to point to your CD/DVD drive, example: E:\MSOCache (will of course require the disc when something Office-related needs those cache files.)
2
  • 1
    It seems we found the same page...
    – oKtosiTe
    Dec 2, 2010 at 15:26
  • 1
    @oKtosiTe: Yah, and on the same minute, too. Great minds think alike ...
    – harrymc
    Dec 2, 2010 at 15:40
3

I wonder if anyone who's against deletion of this folder have actually met any problems after that in the real life.

I've been shift+deleting this MSOCache since I've seen it for the very first time back in 2003 or so, and have never had any problems with updating or using Microsoft Office after that.

My answer is yes, you may safely delete C:\MSOCache folder with no regrets in case you have installation media you may use later in case it is required.

1
  • This answer may sound flippant and unconsidered, but it is one of the best ones here. I've been using office for about 20 years, and the MSOCache directory is the first thing to go after installation. It's in the wrong place, and I've never seen its necessity demonstrated. What's the worst that can happen? Needing to spend a few minutes reinstalling from media without some cached files? After reading this thread I now RAR archive the folder and put it in backup just in case, but I have never once seen a single consequence of just deleting it. Only a problem for enterprise IT types. May 11, 2017 at 16:09
2

I have a 64GB SSD and LOADS of programs. I regularly move space gluttons to a HDD. Many programs now use 500MB-1.3GB for garbage like page borders and all sorts of small image files.

Don't screw with the registry. Sooner or later it'll bite you in the butt bigtime. Create a junction, as mentioned in SoLaR's answer.

HOWEVER -- SOME CAVEATS.

  1. Don't delete the original folder. Rename it with a minus sign, i.e.,
    rename MSOCache to -MSOCache.

  2. MSOCache is an anomaly in that it is in a root folder. Normally you are moving something in a subfolder. So you'll have to modify the following where it says "put in the parent folder".

    In the PARENT folder of the subfolder you are moving, create a TEXT file called JUNCTION LIST.txt with the contents shown below. So if you are moving C:\Program Files\Adobe\Spacehog you would put the "JUNCTION LIST.txt" file in C:\Program Files\Adobe\

    CONTENTS OF JUNCTION LIST.txt (of course, modified to your particular case):

    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"
    

    (Add any others, as needed.)

    The JUNCTION LIST.txt should document EXACTLY what you did.

  3. Open a command prompt in the PARENT folder of the subfolder you are moving.

  4. COPY the "mklink ..." line from the DOCUMENTATION file. This means highlight and press Ctrl-C.

  5. PASTE the command at the prompt, and press enter.

    If it doesn't work, DO NOT make ANY corrections to the command line. Correct the DOCUMENTATION file and repeat the copy and paste.

    You should now have the original folder name with a minus sign and a junction with the original filename.

  6. Move everything from the "minus" folder to the junction.

  7. Copy the JUNCTION LIST.txt folder to the PARENT folder of the TARGET folder on the other drive. The idea is to have documentation all over the place.

  8. Now, except that you have an actual folder with a "minus" name, everything should look the same as before you started.

  9. DO NOT rename the target folder. That destroys the junction. If you need to rename the target folder, delete the junction, correct the JUNCTION LIST.txt file, and create a new junction.

1
1

Very similar to previous answers - the twist is I moved C:\MSOCache to my second HD, D:\MSOCache and then all I had to do is use regedit to change all references from C:\MSOCache to D:\MSOCache for an overall quick and painless way to free-up a sizable chunk of space on the C: drive.

1
  • 1
    Creating a junction point which points to the new location is much safer solution. It's completely transparent (applications don't recognize it's not a real directory but junction point), it's easier since you don't need to search and change anything in the registry and it will work even if an application uses a hard-coded path (developer for example simply forgot to read that path from the registry). Feb 29, 2016 at 1:44
0

Yes, you can delete the MSOCache folder, if when you install MS Office, you select the option to "Run all from My Computer".

Install office, then delete MSOCache

Check that option under Microsoft Office, then check Not Available for the components you don't need. I've installed only Excel (tons faster than LibreCalc), Word and PowerPoint, then I've renamed MSOCache to "junk.MSOCache.deleteme". I don't plan to install any other Office components.

So far, no problems. Haven't tried installing any Office updates because I don't need any security patches (the only Office files I use are my own), but if you want the updates, install them first and delete/rename MSOCache after.

UPDATE: I've also deleted the MSOCache folder from a Wine installation of Office on Linux, and Excel works just fine.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .