The C:\Windows\Installer
folder serves as a cache for Windows Installer (.msi) files and patches. While it might seem like disposable temporary storage, these files are actually crucial for several operations:
// Example PowerShell command to check folder size
Get-ChildItem -Path C:\Windows\Installer -Recurse |
Measure-Object -Property Length -Sum |
Select-Object -Property @{Name="Size(GB)";Expression={[math]::Round($_.Sum/1GB,2)}}
The folder contains:
- Original installation packages for applications
- Windows Update uninstall information
- Patch files for application updates
- Repair source data for installed programs
Deleting files here can cause:
// Common error you might see after deletion
Error 1706: No valid source could be found for product [Application Name]
Particularly problematic scenarios include:
- Office updates failing with "The feature you are trying to use is on a network resource"
- Visual Studio repair operations failing
- Windows cumulative update installation issues
Instead of manual deletion, consider these approaches:
// Using DISM for component cleanup (Admin PowerShell)
DISM.exe /Online /Cleanup-Image /StartComponentCleanup
For application-specific cleanup:
// Microsoft's Patch Cleaner tool example usage
PatchCleaner.exe /analyze
PatchCleaner.exe /clean
If you're working with MSI packages or deployment:
// Querying Windows Installer database
$products = Get-WmiObject -Class Win32_Product
$products | ForEach-Object {
Write-Output "$($_.Name) [$($_.IdentifyingNumber)]"
}
If you must clean this folder, follow these steps:
- Create a system restore point
- Backup the entire Installer directory
- Use the Windows Disk Cleanup tool (cleanmgr.exe)
- Check "Windows Update Cleanup" option
The C:\Windows\Installer
folder is a critical Windows component that stores cached Windows Installer (.msi) files and patch (.msp) files. These files serve multiple important functions:
// Typical structure you might find:
C:\Windows\Installer
├── 123abc.msi // Original installation package
├── 456def.msp // Patch file
└── $PatchCache$ // Managed installation cache
While the folder can grow large (often 1GB+), indiscriminate deletion can cause:
- Broken application uninstallers
- Failed Windows updates
- Inability to repair existing programs
Instead of manual deletion, use these safer approaches:
Method 1: Disk Cleanup Tool
Run this PowerShell command as Administrator:
Cleanmgr /sageset:65535
Cleanmgr /sagerun:65535
This will include Windows Update cleanup options.
Method 2: Patch Cleanup via DISM
DISM.exe /Online /Cleanup-Image /StartComponentCleanup
Method 3: Selective Cleanup Script
Use this PowerShell script to identify orphaned files:
# Get all registered installer packages
$registered = Get-ChildItem HKLM:\SOFTWARE\Classes\Installer\Products |
ForEach-Object { $_.GetValue('ProductName') }
# Compare with files in Installer folder
$orphaned = Get-ChildItem $env:windir\Installer\*.* |
Where-Object { $registered -notcontains $_ }
$orphaned | Remove-Item -WhatIf # Remove -WhatIf to actually delete
If you must manually clean the folder:
- Create a system restore point first
- Sort files by date and remove only the oldest
- Never delete the entire folder or the $PatchCache$ subfolder
For developers concerned about disk space, consider:
- Moving the folder via symbolic link (advanced users only):
mklink /J C:\Windows\Installer D:\NewInstallerLocation