2010-02-08 11 views

risposta

11
  1. In Visual Studio selezionare il progetto di installazione all'interno del Esplora soluzioni
  2. aprire la finestra Proprietà
    • non fare clic con il pulsante destro del mouse su e selezionare Proprietà.
    • selezionare Visualizza - Finestra Proprietà
  3. set RemovePreviousVersions true
  4. incrementare la versione ad un numero più elevato
  5. Selezionare Sì nella finestra di messaggio imminente

Se costruito e distribuire questo nuova configurazione, una configurazione con un numero di versione precedente verrà eliminata.

Importante: il numero della versione di installazione è completamente indipendente dall'applicazione o dal numero di versione dell'assembly!

+0

Se solo quello ha funzionato per me! Cosa intendi con "il numero di versione del setup è completamente indipendente?" – JohnB

+0

@JohnB: Forse hai trascurato il punto * seleziona il tuo progetto di installazione * nel primo punto elenco.Se hai selezionato il progetto di installazione e guardato nella finestra delle proprietà, troverai in basso un numero di versione. per ogni costruito che verrà pubblicato e questo numero è indipendente dal numero di versione dell'applicazione e/o degli assiemi. – Oliver

0

Windows Installer ha incorporato controlli sui file per assicurarsi che la versione sia superiore alla versione precedente di quel file. In caso contrario, Windows Installer non lo sovrascriverà. Per più ampie informazioni sul modo in cui Windows Installer gestisce controllo delle versioni questo articolo di MSDN:

http://msdn.microsoft.com/en-us/library/aa368599%28VS.85%29.aspx

0

Abbiamo bisogno di impostare la proprietà REINSTALLMODE del nostro file msi su amus.

seguito il link per saperne di più sul significato di 'amus' http://msdn.microsoft.com/en-us/library/aa371182%28VS.85%29.aspx

Ci sono due modi per farlo.

  1. Utilizzando msiexec.exe che viene fornito con SDK .NET (se si dispone di VS 2005 o VS 2008 verrà con esso, basta sfogliare al prompt dei comandi di Visual Studio e lo troverete lì)

una volta trovato msiexec.exe è sufficiente digitare il seguente comando per impostare la proprietà REINSTALLMODE su amus per il proprio programma di installazione.

msiexec.exe/i pippo.msi REINSTALLMODE = amus

10

(risposta di Oliver è corretta, ma ho voluto aggiungere immagini e qualche dettaglio in più)

selezionare il progetto di installazione nella vostra soluzione, quindi aprire le Proprietà riquadro (la scheda successiva alla Casella degli strumenti):

enter image description here

  • assicurarsi DetectNewerInstalledVersion i vero (è essere di default)
  • Impostare InstallAllUsers true
  • Impostare RemovePreviousVersions true
  • aggiornare il numero Version e premere Invio
  • Dopo aver colpito entrare, Visual Studio chiederà se si desidera generare un nuovo GUID per ProductCode, fare clic su Sì

Inoltre, è necessario aggiornare i numeri di versione per ogni progetto nella vostra soluzione, perché il programma di installazione sostituirà solo DLL se il loro numero di versione è stato incrementato:

  • Aprire AssemblyInfo.cs di ciascun progetto e aggiornare le AssemblyVersion e AssemblyFileVersion numeri

o un modo migliore :

  • Rimuovere AssemblyVersion e AssemblyFileVersion linee da ciascun del progettoAssemblyInfo.cs
  • Link ad un di file VersionInfo.cs nella vostra soluzione con quei 2 linee
  • Step-by-step per quanto sopra: The Right Way To Version Your Assemblies

Fare clic con il tasto destro del mouse sul progetto di installazione e selezionare Proprietà (un diverso Finestra di dialogo Proprietà):

  • Set Windows Installer 4.5 come Prerequisito al posto del default di Visual Studio di Windows Installer 3,1

Non sono sicuro se tutti questi passi sono necessari, e ci potrebbero essere altri modi per impostare questo, ma i passaggi sopra funzionano per me.

Problemi correlati