Ho un progetto di installazione VS2008, che crea un setup.msi che installa un'applicazione WinForms (C#).Progetto di installazione VS2008: Disinstallazione del precedente MSI
Ogni volta che aggiorno il numero di versione, gli utenti devono prima disinstallare la versione precedente prima di poter installare quella nuova. Altrimenti viene visualizzato il temuto messaggio "Un'altra versione di questo prodotto è già installato".
Questo è quello che sto facendo già quando costruire una nuova versione del programma di installazione:
- Set RemovePreviousVersions = true e DetectNewerInstalledVersion = true
- Incremento AssemblyVersion (del exe che viene distribuito)
- Incremento Versione (del progetto di installazione)
- generare una nuova ProductCode (come richiesto da VS, quando la versione è cambiata)
- Lascia UpgradeCode invariato
Eppure ancora si rifiuta di disinstallare la versione precedente. Allora, cosa ho perso? O cosa sto sbagliando?
Grazie!
Si sta eseguendo direttamente il file Setup.exe o YourApp.msi? – cmw
Mi rendo conto che non offre la massima flessibilità di un .msi, ma la distribuzione ClickOnce è un'opzione? Si aggiornerà automaticamente senza rimozione e consentirà anche agli utenti di tornare alla versione precedente, se necessario (e se lo si consente). Inoltre, hai provato diverse permutazioni di queste opzioni? Che ne dici di non incrementare la AssemblyVersion? – Jay
L'esecuzione di setup.exe o di msi produce lo stesso risultato. Probabilmente non ho provato ogni singola combinazione di queste opzioni, ma ora devo averne provato la maggior parte!Ho sicuramente provato a lasciare AssemblyVersion invariato - Sono abbastanza sicuro che AssemblyVersion non sia (dovrebbe essere) importante qui. –