Skip to contentGo to the directory tree
  1. C:
  2. ProgramData
FolderRisk: Caution
  • Hidden

ProgramData C:\ProgramData

Application data shared by all users of the machine (configuration, caches, logs); hidden by default.

Updated on By AltF4 Formation

What it’s for

C:\ProgramData is the machine-wide data area shared by all users. Unlike Program Files, standard users can write to it, so applications keep their configuration, local databases, caches and logs here. It replaces the old All Users\Application Data of Windows XP and is reachable through %ProgramData% or %ALLUSERSPROFILE%.

What it contains

  • One folder per vendor or application: shared configuration, local databases, caches, logs (antivirus, monitoring agents, backup clients).
  • Microsoft: data of Windows components (Windows Defender, WER error reports, the common Start menu) and the Package Cache used by Visual Studio and other installers.
  • Microsoft\User Account Pictures: default account pictures.
  • The C:\Users\All Users junction, which points here.

Risks and best practices

  • The folder is hidden. Show it in File Explorer options, or use -Force in PowerShell.
  • Deleting it breaks the services and applications that keep their configuration and licenses here. To free space, target one subfolder (a cache, an application’s logs) with that application’s own tool.
  • Some subfolders have deliberately restricted ACLs. Do not change them to fix an “access denied”.
  • Microsoft recommends against relocating ProgramData, in particular through an answer file, outside a test environment.

Useful commands

Fenêtre de terminal
# The 15 largest subfolders
Get-ChildItem $env:ProgramData -Directory -Force | ForEach-Object {
$b = (Get-ChildItem $_.FullName -Recurse -Force -File -ErrorAction SilentlyContinue | Measure-Object Length -Sum).Sum
[pscustomobject]@{ Folder = $_.Name; 'Size (MB)' = [math]::Round($b / 1MB, 1) }
} | Sort-Object 'Size (MB)' -Descending | Select-Object -First 15

Folder contents

Report a mistake