La probabilità che sul tuo PC abbia entrambe le cartelle "C: \ Programmi" e "C: \ Programmi (x86)" è molto alta!. Se si smanetta un po in entrambe queste cartelle di Windows 10, vedrai che alcuni dei programmi sono installati in una cartella e alcuni sono installati nell'altro.
Windows 32-bit contro Windows 64-bit
Originariamente, Windows era disponibile solo come sistema operativo a 32 bit. Su versioni a 32 bit di Windows, anche le versioni a 32 bit di Windows 10, che sono ancora disponibili oggi, vedrete solo una cartella "C: \ Programmi".Questa cartella di file di Programmi è la posizione consigliata in cui i programmi sono installati e devono memorizzare i file eseguibili, i dati e altri file. In altre parole, i programmi vengono installati nella cartella Programmi.
Nelle versioni a 64 bit di Windows, le applicazioni a 64 bit vengono installate nella cartella Programmi. Tuttavia, le versioni a 64 bit di Windows supportano anche programmi a 32 bit e Microsoft non vuole che il software a 32 bit e a 64 bit si mescoli nello stesso luogo. Quindi i programmi a 32 bit vengono installati nella cartella "C: \ Program Files (x86)".Windows esegue applicazioni a 32 bit sulle versioni a 64 bit usando un qualcosa denominato WOW64 (Windows 32-bit on Windows 64-bit, in italiano windows 32 bit su windows 64 bit).
Quando si esegue un programma a 32 bit su una versione a 64 bit di Windows, il livello di emulazione WOW64 reindirizza il suo accesso ai file da "C: \ Program Files" a "C: \ Programmi (x86)". Windows a 32 bit tenta di accedere alla directory File di programma e viene inviato nella cartella Programmi (x86). I programmi a 64 bit però utilizzano ancora la normale cartella Programmi.
Cosa è memorizzato in ognuna di queste cartelle
In sintesi, su una versione a 32 bit di Windows, hai solo una cartella "C: \ Programmi". Questa contiene tutti i programmi installati, tutti a 32 bit.
Su una versione a 64 bit di Windows, i programmi a 64 bit vengono memorizzati nella cartella "C: \ Programmi" e i programmi a 32 bit vengono memorizzati nella cartella "C: \ Programmi (x86)".
Ecco perché i diversi programmi sono distribuiti attraverso le due cartelle Programmi, apparentemente a caso. Quelli nella cartella "C: \ Programmi" sono a 64 bit, mentre quelli contenuti nella cartella "C: \ Program Files (x86)" sono a 32 bit.
Perché questi programmi sono divisi?
Questa è una funzionalità di compatibilità progettata per i vecchi programmi a 32 bit. Questi "vecchi" programmi a 32 bit potrebbero non essere consapevoli che esiste anche una versione a 64 bit di Windows.I programmi a 32 bit non possono caricare le librerie a 64 bit (file DLL) e potrebbero arrestarsi se hanno cercato di caricare un file DLL specifico e ne hanno trovato uno a 64 bit invece di che a 32 bit. Lo stesso vale per i programmi a 64 bit. Il mantenimento di diversi file di programma per diverse architetture CPU separate impedisce l'esecuzione di errori come questi.
Ad esempio, ammettiamo che Windows abbia usato solo una singola cartella Programmi. Un'applicazione a 32 bit potrebbe andare alla ricerca di un file DLL di Microsoft Office trovato in C: \ Programmi \ Microsoft Office e cercare di caricarlo. Tuttavia, se si è installata una versione a 64 bit di Microsoft Office, l'applicazione si blocca e non funziona correttamente. Con le cartelle separate, quell'applicazione non sarà in grado di trovare la DLL, perché la versione a 64 bit di Microsoft Office si troverebbe in C: \ Program Files \ Microsoft Office e l'applicazione a 32 bit sarebbe in C : \ Programmi (x86) \ Microsoft Office.
Ciò aiuta anche quando uno sviluppatore crea versioni a 32 e 64 bit di un'applicazione, in particolare se entrambi devono essere installati contemporaneamente in alcune situazioni. La versione a 32 bit viene automaticamente installata in C: \ Programmi (x86) e la versione a 64 bit viene automaticamente installata nei file C: \ Programmi. Se Windows usava una singola cartella, lo sviluppatore dell'applicazione dovrebbe avere la cartella a 64 bit installata in una cartella diversa per tenerli separati.
Perché è la cartella a 32 bit è denominata (x86)?
Non vedrete spesso "32 bit" e "64 bit". Invece, a volte vedrete "x86" e "x64" per fare riferimento a queste due diverse architetture. Questo perché i computer in passato usavano il chip Intel 8086. I chip originali erano a 16 bit, ma le versioni più recenti diventarono a 32 bit. "X86" si riferisce ora all'architettura pre-64-bit, sia che sia 16 bit che 32 bit. La nuova architettura a 64 bit viene invece definita come "x64".
Questo è ciò che significa "Programmi (x86)". La cartella File di programma è per i programmi che utilizzano la vecchia architettura CPU x86. Basta tuttavia notare che le versioni a 64 bit di Windows non possono eseguire il codice a 16 bit.
Normalmente non importa se i file di un programma sono archiviati nella cartella Programma o Programma (x86). Windows installa automaticamente i programmi nella cartella corretta, quindi non dovremo pensare a nulla. I programmi vengono visualizzati nel menu Start e funzionano normalmente, indipendentemente da dove sono installati. Entrambi i programmi a 32 bit e 64 bit devono memorizzare i dati in cartelle come AppData e ProgramData, e non in una cartella Programmi. Basta che i tuoi programmi decidano automaticamente quale cartella Programmi utilizzare.