Ormai spero che tu abbia visto la mia funzione su Windows a 64 bit nell'ultimo numero diPC Pro. E forse hai tratto un po' di conforto dalle mie rassicuranti assicurazioni che non devi preoccuparti troppo della compatibilità delle applicazioni. Quasi tutti i moderni software a 32 bit dovrebbero essere installati ed eseguiti senza problemi su un'edizione a 64 bit di Windows.
Beh, certo, ogni volta che scrivi qualcosa del genere stai cercando guai.
come collegare Outlook a Google Calendar
Abbastanza sicuro, proprio mentre il nostro numero di settembre stava arrivando in edicola, stavo scoprendo chePC Proil client CMS interno di 's funzionava solo su - hai indovinato - Windows a 32 bit. Il tentativo di creare una nuova recensione dal mio desktop a 64 bit ha prodotto solo un errore oscuro su una fabbrica di classi COM mancante.
Sventolando le bandiere
Un piccolo scavo ha portato alla luce il problema. Uno sviluppatore dispettoso aveva scritto un'applicazione .NET a 32 bit perfettamente valida, ma aveva trascurato di contrassegnarla come codice specifico a 32 bit. Windows a 64 bit lo stava quindi eseguendo in modalità a 64 bit, causando errori quando il software non poteva accedere alle risorse di sistema a 32 bit previsto.
Fortunatamente, questo è un problema facile da risolvere. di Microsoft CorFlags strumento da riga di comando, parte di .NET Framework, consente di modificare i flag di intestazione sui file eseguibili, incluso quello che specifica quando un'applicazione deve essere eseguita in modalità a 32 bit. L'impostazione di questo flag per la nostra applicazione di database è stata una semplice questione di digitazione CorFlags application.exe /32bit+
EEcco– un'applicazione a 32 bit perfettamente funzionante su Windows a 64 bit. Da provare se dovessi mai riscontrare un problema simile.
trasferisci GoogleAuthenticator su un nuovo dispositivo
Quale cartella dei file di programma?
Mentre sono in argomento, ecco un problema correlato che abbiamo riscontrato quando abbiamo iniziato a recensire i PC con Vista a 64 bit. In questo caso il software problematico non era altro che ilPC Prosuite di benchmark del mondo reale. Tutto sembrava essere installato perfettamente, ma quando abbiamo effettivamente avviato i test abbiamo ricevuto errori di risorse non trovate.
Mi sono messo a tracciare il problema con l'aiuto dell'indispensabile di SysInternals Monitor di processo utilità, e ancora una volta la spiegazione si è rivelata misericordiosamente semplice (così semplice, infatti, che mi sono sentito un po' sciocco per non averlo elaborato io stesso).
Vari file non sono stati trovati perché su Windows a 64 bit la cartella Programmi è riservata solo alle applicazioni a 64 bit. I programmi a 32 bit vengono installati in una cartella denominata Program Files (x86). I nostri script di test includevano percorsi codificati che non funzionavano perché le nostre applicazioni a 32 bit non si trovavano nella loro posizione abituale.
non può leggere dal file sorgente o dal disco
Se riscontri un problema come questo, puoi risolverlo facilmente rimuovendo i riferimenti espliciti a C:Program Files e utilizzando invece %ProgramFiles% (questa variabile di ambiente intelligente dovrebbe risolversi in Program Files o Program Files (x86) a seconda di se il processo che lo chiama è a 64 bit o 32 bit). Se non riesci a raggiungere la fonte per modificare i percorsi, una soluzione rapida e sporca consiste nel copiare manualmente i file a 32 bit in Programmi. Una volta fatto questo, i nostri benchmark hanno funzionato senza intoppi.
Ecco qua: applicazioni a 32 bitfareeseguire su Windows a 64 bit ... ma a volte è necessario aggirare alcune ipotesi del programmatore per farli funzionare!