Ho cercato per ore sul web, ma una risposta chiara e motivata non la ho trovata....
Un .exe compilato per AnyCpu dovrebbe essere, se ben leggo, un 32bit su un OS a 32bit es un 64bit su un OS a 64bit.
L' installer DEVE quindi tener conto del OS ed inserire l' .exe in PF se l' OS è a 64 bit e in PF(x86) se l' OS è a 32bit... o DOVE viene salvato il file è ininfluente?
Lo chiedo perché ho aggiornato un vecchio programma, da sempre compilato x86 e Framework2.0, compilandolo ora AnyCpu e Framework4.0.
Se lo installo in PF mi ritrovo due cartelle programma: il nuovo in PF ed il vecchio (quindi superato e non la versione a 32bit del 64bit) in PF(x86).
Doppie chiavi anche nel registro (SOFTWARE e Wow6432Node\SOFTWARE).
Se non forzo InnoSetp ad inserirlo in PF (tramite ArchitecturesInstallIn64BitMode=x64), quello me lo inserisce senza problemi in PF(x86), cosa al limite preferibile, dal momento che si evitano doppioni.
Però nasce la domanda (a cui on line non trovo la risposta): quando lancio un eseguibile x64 da PF(x86) viene lanciato come 64 bit e vengono caricate le .dll delle API giuste (cioè a 64 bit) o nasce un mischia mischia da evitare?
.