Il progetto di distribuzione in VS non sovrascrive i file. Ciò che accade è che, poiché RemovePreviousVersions è impostato su true, quando si modifica la versione del file di programma e il GUID ProductCode del progetto di installazione, la prima versione verrà disinstallata e quindi verrà eseguita un'installazione pulita della nuova versione.
Per assicurarsi che alcuni file non vengano sovrascritti, di solito li escludo dal contenuto o dai file di output primari (ovunque si trovino) e li aggiungono separatamente al progetto di installazione. In questo modo, puoi impostare individualmente le proprietà per tali file. La proprietà che stai cercando è chiamata Permanent "che se impostata su true non disinstallerà mai il file in questione e quindi non la sovrascriverà mai con una nuova versione. L'unico inconveniente è che quando si disinstalla il prodotto, i file permanenti non andranno rimossi dalle loro posizioni di destinazione, ma nel mio caso (di solito i file DB locali), che è una buona cosa;!.)
Acclamazioni
[modifica] Quanto sopra vale per VS 2008 SP1 Haven' Ho provato su altre versioni, quindi spero che tu stia usando la stessa versione VS o funzioni per la versione che usi
[modifica2] Oh, potresti anche usare la proprietà "Condizione" per ottenere qualcosa di simile ar. Se lo fai, assicurati che "Transitive" sia impostato su True, quindi la Condizione viene sempre valutata. Non l'ho provato con Condizioni, ma questa è un'altra opzione che potresti guardare. Oltre a questi 2, penso che sia abbastanza per i progetti di implementazione VS.
Ottimo, grazie! Questo dovrebbe essere contrassegnato come risposta. –
Le regole per la sostituzione dei file sono [qui] (http://msdn.microsoft.com/en-us/library/aa370531(v=VS.85).aspx). – CyberMonk
Utilizzo di VS2010 SP1. Non funziona per me ... Il file viene sostituito anche se Permanet è impostato su true !!! Viene sostituito quando la data/ora del file su disco è precedente alla data di creazione del pacchetto. In VS2010 non SP1, è stato sostituito quando la data del file su disco era precedente alla data del file utilizzato per la creazione del pacchetto. L'impostazione dell'ora della data del file di origine a 01/01/2001 mi ha risolto molti problemi, ma non funziona più !!! –