- C:
- ProgramData
- Package Cache
DossierRisque : Prudence
Package Cache C:\ProgramData\Package Cache
Cache d'installeurs (MSI, EXE) conservés par les programmes d'installation de type Burn (Visual C++, .NET, Visual Studio) pour réparer et désinstaller.
À quoi ça sert
Package Cache est le cache de paquets de Burn, le moteur d’installation de Visual Studio, des redistribuables Visual C++ et de nombreux composants Microsoft. Burn y garde l’installeur d’origine de chaque produit pour que la réparation, la mise à jour et la désinstallation n’aient pas à redemander le média. C’est pourquoi on y retrouve des dizaines de gigaoctets de .exe et de .msi sur un poste de développement.
Ce qu’il contient
- Un dossier par programme d’installation (bundle), nommé par GUID (
{...}) ou par identifiant suivi de la version ({...}v<version>). - Dans chaque dossier : l’installeur d’origine (
.exeou.msi) et ses charges utiles (payloads). Aucune donnée utilisateur. - Le chemin du cache d’un bundle est enregistré dans le Registre, sous sa clé de désinstallation (
BundleCachePath). - Les installations par utilisateur ont leur propre cache dans
%LOCALAPPDATA%\Package Cache.
Risques et bonnes pratiques
- Ne purgez pas ce dossier. Sans lui, la réparation, la mise à jour ou la désinstallation d’un produit échoue en réclamant le média d’origine.
- Ne le déplacez pas non plus : ce n’est pas pris en charge et peut laisser les produits dans un état corrompu.
- Pour récupérer de la place, désinstallez les produits devenus inutiles (anciennes versions de Visual Studio, de Visual C++), la copie en cache disparaît avec eux.
- Si le cache d’un produit est abîmé, réparez ou réinstallez ce produit depuis son installeur.
Commandes utiles
# Les installeurs les plus gros du cacheGet-ChildItem "$env:ProgramData\Package Cache" -Recurse -File -Force -Include *.msi, *.exe -ErrorAction SilentlyContinue | Sort-Object Length -Descending | Select-Object -First 15 FullName, Length
# Produits installés qui dépendent de ce cache (clés de désinstallation 64 bits)Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*" | Where-Object { $_.BundleCachePath } | Select-Object DisplayName, BundleCachePath