- C:
- Program Files (x86)
DossierRisque : Prudence
- Nom localisé
Program Files (x86) C:\Program Files (x86)
Program Files (x86) : applications 32 bits installées sur un Windows 64 bits, séparées de celles de Program Files. Absent des éditions 32 bits de Windows.
À quoi ça sert
Sur un Windows 64 bits, les applications 32 bits s’installent ici, à part des applications 64 bits de C:\Program Files. Cette séparation évite qu’une bibliothèque 32 bits et une 64 bits de même nom se télescopent, dans le cadre de la couche de compatibilité WOW64.
Ce qu’il contient
- Un sous-dossier par application ou par éditeur : exécutables, bibliothèques et ressources 32 bits.
- Des dossiers partagés comme
Common Fileset, selon la version, quelques composants Windows 32 bits. - Pour une application 32 bits sur un Windows 64 bits, l’identifiant
FOLDERID_ProgramFilesX86renvoie ce dossier. Sur un Windows 32 bits, il renvoieProgram Files.
Risques et bonnes pratiques
- Les chemins de ce dossier sont enregistrés dans le Registre, les raccourcis et les services : déplacer ou renommer le dossier casse tout cela. Désinstallez une application depuis Applications installées ou avec son désinstalleur, pas en supprimant son dossier.
- Gardez les droits par défaut. L’écriture y est réservée aux administrateurs et à TrustedInstaller, ce qui freine l’installation de code malveillant.
- Dans un script, utilisez
%ProgramFiles(x86)%et%ProgramW6432%plutôt qu’un chemin en dur. Un processus 32 bits qui lit%ProgramFiles%obtient d’ailleurs ce dossier.
Commandes utiles
# Variables selon le contexte (processus 64 bits)$env:ProgramFiles; ${env:ProgramFiles(x86)}; $env:ProgramW6432
# Dossiers d'applications 32 bitsGet-ChildItem ${env:ProgramFiles(x86)} -Directory | Select-Object Name
# Applications 32 bits déclarées dans le RegistreGet-ItemProperty 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*' | Select-Object DisplayName, DisplayVersion | Sort-Object DisplayName