momento disponiamo di 4 programmi di installazione per il nostro software client:Forza la sovrascrittura di App.config durante l'installazione
- ClientSetupTest
- ClientSetupProduction
- ClientUpdateTest
- ClientUpdateProduction
Le uniche differenze tra questi sono che il programma di installazione contiene i file ridistribuibili di Crystal Reports e l'aggiornamento lo fa no. Test e produzione specifica solo l'ambiente in cui vengono eseguiti e l'unica differenza è una riga nel file Client.exe.config.
Scemo, lo so, è per questo che li ho sostituiti tutti con un programma di installazione dopo aver eliminato Crystal Reports. Il nuovo programma di installazione scrive l'ambiente selezionato su setup.config, a cui fa riferimento l'attributo file (see here).
L'attributo "file" è nuovo nel file di configurazione con questo nuovo programma di installazione. Il problema che sto incontrando è che se modifichiamo il file Client.exe.config su una vecchia installazione, quindi eseguiamo il nuovo programma di installazione, il file di configurazione non viene mai aggiornato con l'attributo "file".
C'è un modo per forzare l'aggiornamento di un file? RemovePreviousVersions non funziona esattamente, dal momento che si tratta di un programma di installazione diverso, a meno che non stia fraintendendo qualcosa. La mia idea corrente, che probabilmente funzionerà, consiste nell'aggiungere codice nel metodo OnBeforeInstall per rinominare il vecchio Client.exe.config in un file di backup, quindi scriverà sempre il nuovo. Sembra che ci dovrebbe essere una soluzione più semplice all'interno del programma di installazione stesso, però. Qualche idea?
EDIT: Rinominare il vecchio file di configurazione su Client.exe.config.old prima di chiamare base.OnBeforeInstall() non ha funzionato. Ha rinominato il file, ma non ha mai scritto quello nuovo.
Grazie. Darò l'opzione personalizzata un colpo. Avrò ancora il problema di non continuare con le loro impostazioni personalizzate, ma se è stato modificato, posso rilevarlo e copiare la vecchia configurazione. –