- C:
- ProgramData
- Package Cache
FolderRisk: Caution
Package Cache C:\ProgramData\Package Cache
Cache of installers (MSI, EXE) kept by Burn-based setup programs (Visual C++, .NET, Visual Studio) to support repair and uninstall.
What it’s for
Package Cache is the package cache of Burn, the setup engine behind Visual Studio, the Visual C++ redistributables and many Microsoft components. Burn keeps each product’s original installer here so repair, update and uninstall never have to ask for the media again. That is why tens of gigabytes of .exe and .msi files pile up on a developer machine.
What it contains
- One folder per setup bundle, named by GUID (
{...}) or by identifier followed by the version ({...}v<version>). - In each folder: the original installer (
.exeor.msi) and its payloads. No user data. - A bundle’s cache path is recorded in the registry under its uninstall key (
BundleCachePath). - Per-user installs have their own cache in
%LOCALAPPDATA%\Package Cache.
Risks and best practices
- Do not purge this folder. Without it, repairing, updating or uninstalling a product fails and asks for the original media.
- Do not move it either: that is unsupported and can leave products in a corrupted state.
- To reclaim space, uninstall products you no longer use (old Visual Studio or Visual C++ versions); their cached copy goes with them.
- If a product’s cache is damaged, repair or reinstall that product from its installer.
Useful commands
# Largest installers in the cacheGet-ChildItem "$env:ProgramData\Package Cache" -Recurse -File -Force -Include *.msi, *.exe -ErrorAction SilentlyContinue | Sort-Object Length -Descending | Select-Object -First 15 FullName, Length
# Installed products that depend on this cache (64-bit uninstall keys)Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*" | Where-Object { $_.BundleCachePath } | Select-Object DisplayName, BundleCachePath