Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Installer e problema su SO 64 bit.
lunedì 07 marzo 2011 - 10.05
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
C#
|
.NET 2.0
|
Windows Vista
|
Visual Studio 2005
AntCiar
Profilo
| Expert
936
messaggi | Data Invio:
lun 7 mar 2011 - 10:05
Buongiorno a tutti.
Ho il seguente problema: nella mia applicazione ho inserito un progetto di installazione. Il pacchetto di installazione viene avviato in "passivo" da un altro applicativo. Per poter passare la cartella di installazione selezionata al pacchetto in questione, ho fatto in modo che il primo applicativo scrivesse a registro di sistema all'interno di una chiave il path selezionato per l'installazione. All'interno del pacchetto ho definito una condizione di ricerca su quella chiave di registro che mi va a leggere il valore della chiave e lo attribuisce alla proprietà Path della cartella di installazione. Sui computer con sistema operativo a 32 bit funziona tutto alla perfezione. Su un computer a 64Bit (Win Seven) non funziona. All'interno della chiave di registro posso scrivere qualsiasi cosa ma il pacchetto di installazione legge sempre la root di windows (nel mio caso C:\).
Qualcuno si è trovato già nella mia stessa situazione e ha risolto il problema?
Grazie
Cristian Barca
Ho trovato la soluzione. Posto di seguito:
Prefazione - La struttura della applicazione è cosi composta: una applicazione A nella quale vengono impostati dei parametri. Questi poi vengono scritti in determinate chiavi di registro all'interno della MainKey "LocalMachine". Al termine dei settaggi vengono avviati di conseguenza in automatico degli msi creati con l'installer di VisualStudio. Questi msi vengono avviati passando come argomento della riga di comando il parametro '/passive'. All'interno ogni msi legge dal registro di sistema i parametri impostati dall'utente.
Detto ciò, io avevo compilato l'applicazione A con piattaforma AnyCPU. Quando andavo su un 64bit praticamente succedeva che l'applicazione A nello scrivere i valori a registro di sistema, li scriveva nella sezione a 32bit del registro mentre poi gli msi tentavano di leggere le chiavi nella sezione a 64bit (che ovviamente non esistevano).
Ho compilato l'applicazione A con piattaforma x86 e senza cambiare codice, sul 64bit funziona. Ho usato la stessa compilazione x86 su un 32bit e funziona lo stesso.
Se qualcuno ha avuto la pazienza di leggere fino a qua, gli chiedo un ultima cortesia. Siccome non posso chiudere da solo il thread, qualcuno invii una risposta accettandola in modo da non lasciare argomenti aperti.
Grazie
whiteflash
Profilo
| Junior Member
83
messaggi | Data Invio:
mer 9 mar 2011 - 16:02
avevo avuto anchio un problema simile,
basta impostare la piattaforma o su 32 o su 64 e crearti due eseguibili differenti
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !