Aller au contenuAller à l'arborescence
  1. C:
  2. 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.

Mis à jour le Par AltF4 Formation

À 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 Files et, selon la version, quelques composants Windows 32 bits.
  • Pour une application 32 bits sur un Windows 64 bits, l’identifiant FOLDERID_ProgramFilesX86 renvoie ce dossier. Sur un Windows 32 bits, il renvoie Program 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

Fenêtre de terminal
# Variables selon le contexte (processus 64 bits)
$env:ProgramFiles; ${env:ProgramFiles(x86)}; $env:ProgramW6432
# Dossiers d'applications 32 bits
Get-ChildItem ${env:ProgramFiles(x86)} -Directory | Select-Object Name
# Applications 32 bits déclarées dans le Registre
Get-ItemProperty 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*' | Select-Object DisplayName, DisplayVersion | Sort-Object DisplayName

Signaler une erreur