Sto eseguendo l'aggiornamento principale e disinstallando il prodotto esistente prima di installare la nuova versione. Ma voglio mantenere il file di configurazione esistente.Wix CopyFile prima di disinstallare e ripristinare dopo la disinstallazione
Poiché la versione precedente non aveva Permanent = "yes", rimuove il file di configurazione durante la disinstallazione.
E come posso fare qualcosa di simile, fare una copia di "app.config" come "app.config.bak" prima della disinstallazione. Dopo la disinstallazione, ripristinalo da "app.config.bak" a "app.config".
<DirectoryRef Id="INSTALLDIR">
<Component Id="BackupConfigComponent" Guid="87368AF7-4BA2-4302-891A-B163ADDB7E9C">
<CopyFile Id="BackupConfigFile" SourceDirectory="INSTALLFOLDER" SourceName="app.config" DestinationDirectory="INSTALLFOLDER" DestinationName="app.config.bak" />
</Component>
</DirectoryRef>
<DirectoryRef Id="INSTALLDIR">
<Component Id="RestoreConfigComponent" Guid="87368AF7-4BA2-4302-891A-B163ADDB7E9C">
<CopyFile Id="RestoreConfigFile" SourceDirectory="INSTALLFOLDER" SourceName="app.config.bak" DestinationDirectory="INSTALLFOLDER" DestinationName="app.config" />
</Component>
</DirectoryRef>
<InstallExecuteSequence>
<Custom Action="BackupConfigFile" After="InstallInitialize" />
<RemoveExistingProducts After="InstallInitialize" />
<Custom Action="RestoreConfigFile" After="InstallInitialize" />
</InstallExecuteSequence>
Grazie
Si dice Errore Il valore dell'attributo Custom/@ After, 'RemoveExistingProducts', non è un identificatore legale. Gli identificatori possono contenere caratteri ASCII A-Z, a-z, cifre, caratteri di sottolineatura (_) o punti (.). Ogni identificatore deve iniziare con una lettera o un trattino basso. –
Ok era dovuto allo spazio, ma ora dice, Riferimento non risolto al simbolo 'CustomAction: BackupConfigFile' nella sezione 'Prodotto: *'. –
Hai creato un'azione personalizzata con il nome BackupConfigFile? Questa non è un'azione personalizzata standard che Windows Installer fornirà per te. – Adkins