Quando si utilizza InstallShield LE, MSI contiene una versione obsoleta di un assembly, ma le versioni attuali degli altri

StackOverflow https://stackoverflow.com//questions/9675367

Domanda

Sto usando Visual Studio 2010, InstallShield LE su una soluzione con circa 10 progetti totali.

Ho selezionato l'uscita principale del progetto principale della GUI per la parte "file", installata in una sottodirectory dei file di programma, graziosi standard.

Ho costruito il programma di installazione poche settimane fa e l'ho installato sulla mia macchina di prova, tutto funzionava bene. Da allora, ho apportato modifiche a ciascun progetto nella soluzione. Oggi ho incrementato la mia versione di assemblaggio e ho ricostruito il mio progetto di configurazione per continuare a testare.

Dopo l'installazione, nella directory di installazione dei file del programma, ho notato che uno dei gruppi del mio progetto elenca ancora la versione precedente, 1.0.0.0 e la data del file è più di un mese. Gli altri assembly nella directory mostrano le versioni correnti e la data di modifica corrente.

Ho provato a cancellare ogni bin e cartella OBJ nella mia directory Solution e anche la cartella Progetto Installer. Ho reinstallato ma il problema rimane.

Ho cercato Google, ma come il problema è strano, una buona frase di ricerca è stata elusiva.

Ovviamente, ho bisogno della versione più recente dei miei assembly da includere nell'installatore MSI.

Grazie per qualsiasi aiuto o suggerimento!

È stato utile?

Soluzione

È necessario eseguire due cose: estrarre il file effettivo nel MSI per sapere se il binario aggiornato è presente nel MSI e ottenere un registro Verbose dell'Installazione in cerca di ciò che ha detto Windows Installer sul componente che contiene il gruppoin questione.BTW, hai ciascun file di assemblaggio come file chiave del proprio componente, vero?Windows Installer controlla solo gli aggiornamenti della versione per i percorsi.

Altri suggerimenti

Vuoi leggere:

Versioning del file predefinito

Nota: assicurati di confrontare il gruppo AssemblyFileVersion.Non è l'attributo AssemblyVersion che è importante anche l'attributo AssemblyFileVersion.Il primo è utilizzato dal GAC e dai forti contratti dei nomi mentre le mappassero successive alla struttura di fileversione nativa di Windows.

Ho avuto lo stesso problema con il progetto di configurazione VS prima.Controllerei il ricontrollare i riferimenti di assemblaggio nella tua soluzione che fanno riferimento al progetto con la vecchia DLL.Dovresti semplicemente essere in grado di guardare la finestra Proprietà per vedere la versione che fa riferimento.Nel mio caso, farebbe riferimento alla DLL dalla cartella Bin di un altro progetto, piuttosto che al progetto stesso.

So che hai cancellato tutte le tue cartelle del tuo cestino e obj, ma probabilmente vale la pena provare.

Se trovi il riferimento del problema, basta rimuoverlo e aggiungilo e dovresti essere buono.

Discarica InstallShield e Vai con wix .. non guarderai mai indietro.

wix ha ad es.AggiornaDecode per aiutarti a controllare la versione controlla le funzionalità.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top