Sui Windows perlomeno a 64bit, le 2 directory C:\Programmi e C:\Programmi (x86) (che fisicamente si chiamano C:\Program Files e C:\Program Files (x86) ) hanno permessi specifici ristretti per un utente "normale", non-amministratore. E per buoni ... ottimi motivi. Cambiare i permessi di queste directory per dare possibilità di modifica agli utenti normali non va granché bene, detto in generale, perché metterebbe a repentaglio tutte le applicazioni lì sotto.
La questione semmai sta nella "filosofia", nell'approccio relativo all'aggiornamento. Le applicazioni che sono installate lì sotto in quelle due directory si possono aggiornare (manualmente o auto-aggiornanti) tipicamente solo da un account amministrativo.
Adobe Reader ad esempio lo posso aggiornare solo dall'Administrator, non dal mio utente "normale". Altre applicazioni come Mozilla Firefox usano un approccio più evoluto, installano un Windows Service apposito (che ha privilegi maggiori) che consente di avviare l'aggiornamento anche da utente normale.
Altre applicazioni hanno un approccio diametralmente opposto: installano l'applicazione "per user", ad esempio sotto il profilo dell'utente. Un esempio sono le versioni più recenti di SourceTree (un client per Git/Mercurial), che ora si installa sotto la AppData\Local dell'utente. Quindi si può auto-aggiornare anche con da un utente "normale".
Quindi la questione è quale filosofia di installazione/aggiornamento vuoi seguire. O dici agli utenti della applicazione: dovete lanciare l'aggiornamento della applicazione da un account amministrativo ... oppure fai installare l'applicazione "per user".
![]()