Installer in aggiornamento

lunedì 19 ottobre 2009 - 11.24

Defkon1 Profilo | Newbie

ho creato tempo fa un MSI che installava una piccola applicazione (versione 1.0.0.0).

ora ho creato una nuova build con alcune migliorie e bugfix (chiamiamola versione 1.1.0.0) e ho generato il nuovo MSI.

al lancio del setup della 1.1.0.0 giustamente il meccanismo del WinInstaller si accorge che esiste già una precedente versione dell'applicazione e mi chiede se voglio aggiornare. Dando l'OK il WinInstaller disinstalla la precedente versione e installa correttamente la nuova, ma si perde tutti gli AppSettings che rimangono nella cartella C:\Documents and Settings\user\Dati applicazioni\miaapplicazione\1.0.0.0.

esiste un modo per rendere gli AppSettings indipendenti dalla versione?
Defkon1
Project Manager/.NET Developer
http://www.alessiomarinelli.it

freeteo Profilo | Guru

Ciao,
io ho usato un codice di questo tipo:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
Io l'ho usato per distribuzioni ClickOnce non so se è uguale anche per la distribuzione tramite Installer, però puoi provare...
Ciao.

Matteo Raumer
[MCAD, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

Defkon1 Profilo | Newbie

mmm... quindi secondo te dovrei ri-recuperare tutti gli appsetting esistenti e ri-settarli sul nuovo msi?

--------------------------------------------------

Defkon1
Project Manager/.NET Developer
http://www.alessiomarinelli.it

freeteo Profilo | Guru

>mmm... quindi secondo te dovrei ri-recuperare tutti gli appsetting
>esistenti e ri-settarli sul nuovo msi?
si esatto, era un'idea...io avevo fatto così al tempo, dovrei verificare se ci sono delle strade migliori attualmente però...

Ciao.

Matteo Raumer
[MCAD, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

Defkon1 Profilo | Newbie

sono andato nella direzione da te suggerita, ma cambiando un po' approccio, in quanto lanciando il ConfigurationManager nel modo indicato avrei ottenuto sì gli AppSettings, ma solo dell'applicativo lanciato, ovvero dell'installer.

Invece di ExeConfiguration ho pertanto puntato su un MappedExeConfiguration, che mi permettesse di recuperare anche i config modificati dai profili roaming e dai profili locali, e non solo gli AppSetting di default.

lascio uno spunto del codice per chi si trovasse nella stessa situazione:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

have fun



--------------------------------------------------

Defkon1
Project Manager/.NET Developer
http://www.alessiomarinelli.it

freeteo Profilo | Guru

>lascio uno spunto del codice per chi si trovasse nella stessa
>situazione:
ok ottimo così può tornare utile a qualcuno.
Grazie.

Ciao.

Matteo Raumer
[MCAD, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

Defkon1 Profilo | Newbie

dimenticavo... è necessario aggiungere alle References del progetto il package System.Configuration

--------------------------------------------------

Defkon1
Project Manager/.NET Developer
http://www.alessiomarinelli.it
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 !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5