Newsgroup: it.comp.lang.visual-basic
Titolo: Applicazione a 64 bit compatibile con SO a 32 bit?

Ciao a tutti,
ho realizzato un'applicazione che ho compilato a 64 bit in quanto deve 
leggere delle chiavi del registro di sistema localizzate in 
HKEY_LOCAL_MACHINE di pc con Windows a 64 bit.
 
Se la compilo a 32 legge le chiavi presenti nel sottonodo "Wow6432Node".
 
La stessa applicazione deve perï¿œ, poter girare anche su pc con Windows a 
32 bit.
 
E' possibile realizzare un eseguibile compatibile con entrambe le 
architetture?
Oppure sono obbligato a realizzare due eseguibili distinti? In questo 
caso ï¿œ possibile con un unica un'operazione realizzare i seguenti due file:
 
-nomeapp_x32.exe
-nomeapp_x64.exe
?
 
Voi come fate?
Qualsiasi suggerimento ï¿œ ben accetto.
 
Un'altra domanda: la mia applicazione non necessitï¿œ (in teoria) di 
librerie dll, ocx, ecc. e quindi non mi serve un programma di 
installazione. Posso distribuire direttamente il file exe presente nella 
cartella "Debug"?
 
Grazie in anticipo

 cartella "Debug"?
 
Casomai in quella "Release", comunque si... se sulla macchina c'e' il framework che hai puntato in compilazione, in linea di massima è sufficente.

 Casomai in quella "Release", comunque si... se sulla macchina c'e' il framework che hai puntato in compilazione, in linea di massima ï¿½ sufficente.
 
Ok, ma all'interno dello stesso progetto come faccio a creare i due file 
eseguibili, uno a 32 e l'altro a 64 bit?
 
Al momento mi viene in mente solo una soluzione che perï¿½ non mi piace: 
ovvero quella di modificare l'impostazione l'architettura nelle 
proprietï¿½ del progetto due volte, una per realizzare l'eseguile a 32 bit 
e l'altra per realizzarlo a 64 bit.
 
Non esiste un modo piï¿½ rapido?
 
Grazie in anticipo
 


 
La mia cartella Release ï¿½ vuota!
ma sono sicuro che stï¿½ sbagliando approccio.... potresti aiutarmi a capire?
 
Grazie in anticiopo.
 


 
Oltre a quanto detto nel precedente post...
Ho appena fatto una verifica, ho impostato la CPU di destinazione a x86 
convinto che l'eseguibile cosï¿½ creato fosse compatibile con Windows XP 
Sp2 a 32 bit, ed invece appare l'errore "non ï¿½ un'applicazione di Win 32 
valida".
 
Cominciano a prendermi gli spasmi della disperazione  :-(((
Cosa devo fare per rendere la mia applicazione compatibile con un 
sistema a 32 bit?
 


Penso di aver capito....
Ho provato ad installare il Framework 4.0 su Windows XP e le prove 
realizzate con VB2010 hanno iniziato a funzionare...
 
Le prove compilate con VB2012 non sono riuscito a farle funzionare in 
WinXP, in quanto il Framework 4.5 non ï¿½ compatibile con WinXP.
 
Che casino!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
Io devo fare un'applicazione di poche decine di righe di codice che 
scrive e legge un file di testo e che scrive e legge delle chiavi del 
registro di sistema.
 
Con VB6 compilo il file EXE e funziona d'appertutto, con VB2012 funziona 
solo se installo il Framework?
E' pazzesco! una complicazione assurda! non ï¿½ piï¿½ possibile fare delle 
applicazioni portable?
 
In questo modo un'applicazione di pochi Kb deve portarsi dietro 48 Mb di 
Framework 4.5.
Ancora piï¿½ pazzesco un'applicazione scritta con VB2012 non sarï¿½ mai 
compatibile con WinXP....!
 
 
Vi prego ditemi che sto sbagliando e che c'ï¿½ una semplice soluzione a 
tutto questo!
 
Grazie in anticipo
 
 
 

 tutto questo!
 
Dipende da come definisci "semplice" :-).
 
Se usi il 2010 sei direttamente compatibile anche
con XP, e se fai un setup di tipo ClickOnce il setup
stesso si preoccupa di scaricare il FW giusto e
installarlo, se non c'ï¿œ giï¿œ sulla macchina di
destinazione. E ovviamente quest'ultima dovrï¿œ essere
connessa a Internet.
Questa cosa ti dï¿œ anche la possibilitï¿œ di aggiornare
automaticamente l'applicazione ogni volta che tu ne
rilasci una nuova versione.
A sua volta ha degli svantaggi, tipo principalmente
il fatto che l'applicazione non viene piazzata come
al solito in "Programmi", ma in una posizione
predefinita dal S.O.
 
Bye, G.

 compatibile con WinXP....! 
Vedi sopra

 La mia cartella Release ï¿½ vuota!
 
Ciao,
quando compili, puoi scegliere il tipo di compilazione: Debug (di default) e Release. Se non hai mai scelto la seconda, è il motivo per il quale trovi la cartella vuota.

 Il fatto che da un certo punto in poi fosse incluso nelle dll base del S.O. era solo fortuito (cosa che per inciso succede pure con il FW, il 2.0 lo trovi di scatola da XP SP2-3 in avanti)
 
Perfetto!
L'applicazione che sto realizzando � di una banalit� assoluta ed � 
sufficiente che sia compatibile con WinXP+SP2... tutti i precedenti SO 
non mi interessa...
 
 
 

 predefinita dal S.O.
 
Cioï¿œ?
 
Grazie in anticipo
 

 Grazie in anticipo
 
 
 
-- 
Paolo opg
 
BE AWARE that this post uses a fake reply-to address
to contact me write to:
janickg ( at ) hotmail ( dot ) com
--

 versione 'release' e non quella 'debug'.
 
 
Sei sicuro che si possa fare? perchï¿œ da tutte le prove che ho fatto 
anche una semplice applicazione formata da un semplice form con un 
MsgBox richiede che venga installato il framework.
 
Fammi sapere se ï¿œ possibile farne a meno e come...
grazie in anticipo
 

 grazie in anticipo
 
E' sempre sottinteso "puoi distribuire direttamente il tuo exe, fatto salvo il framework corretto che, una tantum, serve sempre".
Stesso discorso di VB6, che aveva bisogno di questo 
http://support.microsoft.com/kb/290887
 
e che è stato precaricato nei S.O. solo qualche tempo dopo.
 
Come si diceva, il 2.0 tente ad essere già installato da qualche tempo a questa parte; magari non con XP+SP3 come dicevo, forse era insieme a qualche aggiornamento di IE per XP, non ricordo di preciso, ma Vista/7/8 dovrebbero averlo di scatola.
 
In breve: non puoi dare per scontato che esista, se vuoi supportare il maggior numero di versioni di Windows