Can I delete the folder C:\ProgramData\Package Cache\?

There is a new folder full of installers located at C:\ProgramData\Package Cache\. I believe this is from Visual Studio 2012 RC.

Can I delete these gigabytes of data without consequences? Are they all temporary files? It's a beta product so I'm not sure there is much information out there about this folder.

6

9 Answers

TL;DR: Do NOT delete this folder

(see below for workarounds)


Why Not?

There have been conflicting reports about whether the absence of this folder (as a consequence of deleting it) will actually and in all cases cause issues with the visual studio installation, i.e. during normal operation, during reinstall, patch/upgrade, repair install, or uninstall. However, the recommendation from MICROSOFT is clearly to NOT DELETE IT.

From Microsoft Developer Tools Blogs → HERE

When repairing, modifying, or uninstalling a product or when installing or uninstalling a patch, if source media is required the package cache is used automatically and most users will never see a prompt. Only if the package cache is missing or incomplete will Visual Studio setup prompt to download (if connected) or locate media as shown in the screenshot below.

Visual Studio 2012 Prompt for Source

Users who have installed from media even get the option to download (if connected). So while very few customers should ever see this dialog, we wanted to make sure the experience was easy.
Even though we will prompt to download packages to the cache if missing, we recommend users do not remove the package cache. Not only is the cached used by many other products that are installed with Burn and may not provide the same download experience, there are scenarios when Windows Installer may require source that we cannot handle because our code is not running.


#Solution/Work-Around:# If you need to reclaim this space, your safest bet is to avoid "deleting" anything, but to instead, move this folder and all it's files. You can safely do this following the instructions below to any local/live, online, near-line, or offline storage as long as that storage system that can be mounted to a drive letter or any mount point on the NTFS file system. Any of the following will work:

  • another live (mounted) partition
  • an optical disc (CD, DVD, etc.) with a live filesystem like FAT, or NTFS
  • an external hard drive
  • a USB drive
  • a network drive

Whenever you are prompted for the media/receive any errors about missing files/missing location, you simply make sure to remount/reinsert your drive/media if it's not already a live partition.

Once moved, in order to "link" the old mount point/location (in most cases C:\ProgramData\Package Cache\), you simply create a directory junction to it.

Junctions are recognized at the file system level as an alias entry in the FSTAB. Therefore, it's transparent to all programs, including the OS itself. In other words, it is NOT seen as a file that simply points to another location (like a shortcut) and therefore always works without incident.

  1. You would move the folder(s) in question to its new location

  2. Create the junction

    • Option 1. (natively): Just issue the built-in Windows Vista / 7 / 8 command and the cmd prompt:

       mklink /J oldpath newpath

    NOTE: If you make the newpath absolute, you'll be able to move link without breaking the pointer to the newpath. If you make the newpath relative, you'll be able prevent breaking the link, as long as you move BOTH the link and target TOGETHER and maintain their relative paths.

    • Option 2. (using a tool): Another GREAT alternative is a free handy utility I've been using for years called "Link Shell Extension". LSE is free and you can find it here (or Google for it):

      LSE allows you to create symlinks, hardlinks, junctions, smartcopies, smartclones, smart mirrors, smart moves, splices, multiple sources, and bunch of other stuff I found too confusing to read, frankly. But, it's a brilliant free product that creates a Windows Explorer context menu that allows you right-click on your LINK-TARGET folder then drag it to where you'd like to create the actual link. You can of course rename the link to anything you'd like.

19

I've found the same folder on my laptop after installing VS2012. I tried renaming that folder to '__Package Cache'. When I then tried to uninstall VS2012 the uninstall process failed to start.

More information is available here.

0

For Visual Studio 2017, you can disable the package cache (even after Visual Studio is installed) by calling:

"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vs_installer.exe" --nocache

I gained about 2 GB of disk space on my system drive from that (YMMV).

For details, see the docs: Visual Studio Docs: Disable or Remove the Package Cache

5

The correct answer seems to be that if you delete it, VS 2012 will fail to uninstall, but it is otherwise not needed. Therefore:

  1. You can leave the files there. Everything will work but it will use lots of disk space.
  2. You can delete the files, and if you want to uninstall VS 2012, you can re-run the original installer to put the files back, then uninstall.
  3. You can move the files to another drive with more free space and either:

    a) move the files back when you need them

    b) create a junction as in Flak's suggestion (warning: junctions are tricky beasts, and will lie to Windows Explorer telling you the files take up disk space on C: when they are really on another drive!)

Junctions and symbolic links are the only answer for moving system files to another drive. They are NTFS filesystem-level features that even Windows itself is oblivious to, and thus are a really big hammer (and potential security risk) that should be used sparingly unlike their UNIX/Linux/BSD counterparts, since they have been around a lot longer on that OS family and UNIX/Linux/BSD programs know how to deal with them.

1

All the software's installers are saved in this folder. It would fail when you try to uninstall a software after deleting this folder.

0

I noticed this folder after I installed Visual Studio 2012, in my case everything in it contained to the Visual Studio 2012 installation, I manually removed it and everything seems to be working including Visual Studio.

2

YES you can delete this directory, if you have uninstalled Visual Studio.

I found this directory after uninstalling Visual Studio in preparation for installing a SSD smaller than the hard drive I was using before. This computer is no longer a development station.

Uninstalling Visual Studio left behind some other software like a program to connect to a local SQL server, which I do not have. I uninstalled it.

It also left behind several .NET programs but I don't know which ones are safe to uninstall so I left them in place.

So to the point of the question: I did delete this directory.

It was quite large so helped me to fit into my SSD better.

Now a day later I haven't noticed any problems.

2

No. If you delete this folder, you won’t be able to uninstall (and possibly update) Visual Studio.

It's usually better not to mess up with deleting these files manually, and instead leave this task to either Windows Disk Cleanup, or other disk cleaning tools. The one I personally use and can recommend you is the CCleaner.

CCleaner can help you automatically find obsolete files in a program and deletes them for you.

5

You Might Also Like